+static ssize_t hptiop_show_devicelist(struct class_device *class_dev, char *buf)
There is a one value per sysfs attribute rule. Seems like you are returning quite some info here.
+ /* map buffer to kernel. */ + if (ioctl_k.inbuf_size) { + ioctl_k.inbuf = kmalloc(ioctl_k.inbuf_size, GFP_KERNEL); + if (!ioctl_k.inbuf) { + dprintk("scsi%d: fail to alloc inbuf\n", + hba->host->host_no); + err = -ENOMEM; + goto err_exit; + } + + if (copy_from_user(ioctl_k.inbuf, + ioctl_u->inbuf, ioctl_k.inbuf_size)) { + goto err_exit; + }
You are essentially wrapping ioctl with sysfs and passing user space buffers....
+ .proc_name = driver_name,
I believe this is going away.
+ printk(KERN_INFO "%s %s\n", driver_name_long, driver_ver); + + return pci_module_init(&hptiop_pci_driver); +} +
pci_register_driver? pci.h indicates that pci_module_init is being obsoleted... - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html