Re: [PATCH 1/1] PCI: Dynids - passing driver data

From: Brian King
Date: Mon Feb 07 2005 - 17:38:27 EST


Greg KH wrote:
On Mon, Feb 07, 2005 at 04:00:27PM -0600, brking@xxxxxxxxxx wrote:

Currently, code exists in the pci layer to allow userspace to specify
driver data when adding a pci dynamic id from sysfs. However, this data
is never used and there exists no way in the existing code to use it.


Which is a good thing, right? "driver_data" is usually a pointer to
somewhere. Having userspace specify it would not be a good thing.

That depends on the driver usage, and the patch allows it to be configurable and defaults to not being used.

This patch allows device drivers to indicate that they want driver data
passed to them on dynamic id adds by initializing use_driver_data in their
pci_driver->pci_dynids struct. The documentation has also been updated
to reflect this.


What driver wants to use this?

I am in the process of adding dynids support into the ipr scsi driver. I originally was using driver_data as a pointer, but am changing it to be an index instead, so that it can be specified by the user.

There are essentially 2 different types of chipsets that ipr controls, the primary difference being the register offsets. I am using driver_data to figure that out today.

My other option is to somehow change the driver to cope with having no driver data, but that will result in more driver code and will ultimately be less flexible in the new chipsets that can be added using dynids.


-Brian


--
Brian King
eServer Storage I/O
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/