--- rts5229.a/rtsx.c 2013-07-03 05:24:40.728296993 +0530 +++ rts5229.b/rtsx.c 2013-07-03 05:20:56.452568592 +0530 @@ -126,38 +126,18 @@ #undef SPRINTF -#define SPRINTF(args...) \ - do { if (pos < buffer+length) pos += sprintf(pos, ## args); } while (0) +#define SPRINTF(args...) seq_printf(m, ##args) -static int proc_info (struct Scsi_Host *host, char *buffer, - char **start, off_t offset, int length, int inout) +static int show_info(struct seq_file *m, struct Scsi_Host *host) { - char *pos = buffer; - - if (inout) - return length; - - SPRINTF(" Host scsi%d: %s\n", host->host_no, CR_DRIVER_NAME); - SPRINTF(" Vendor: Realtek Corp.\n"); SPRINTF(" Product: RTS5229\n"); SPRINTF(" Version: %s\n", DRIVER_VERSION); SPRINTF(" Build: %s, %s\n", __DATE__, __TIME__); - - /* - * Calculate start of next buffer, and return value. - */ - *start = buffer + offset; - - if ((pos - buffer) < offset) - return (0); - else if ((pos - buffer - offset) < length) - return (pos - buffer - offset); - else - return (length); + return 0; } @@ -263,7 +243,7 @@ .name = CR_DRIVER_NAME, .proc_name = CR_DRIVER_NAME, - .proc_info = proc_info, + .show_info = show_info, .info = host_info,