lkml.org 
[lkml]   [2005]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] drivers/block: updates .owner field of struct pci_driver
On Sun, Oct 23, 2005 at 10:13:20PM +0100, Russell King wrote:
> On Sun, Oct 23, 2005 at 10:49:48PM +0200, Laurent Riffard wrote:
> > This patch updates .owner field of struct pci_driver.
> >
> > This allows SYSFS to create the symlink from the driver to the
> > module which provides it.
> >
> > Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
>
> Wouldn't it be better to eliminate pci_driver's .owner field and
> set the generic device driver's owner field directly? (and fix
> the PCI code not to overwrite that if pci_driver's .owner field
> is NULL for compatibility.)
>
> I ask for the second time recently on linux-kernel. Is there
> *really* any point in duplicating these fields?

#define pci_register_driver(d) __pci_register_driver(d, THIS_MODULE)

#define ide_pci_register_driver(d) __ide_pci_register_driver(d, THIS_MODULE)

__pci_register_driver(drv, module) - same as current pci_register_driver(),
except that instead of
drv->driver.owner = drv->owner;
it does
drv->driver.owner = module;

__ide_pci_register_driver(driver, module):
{
if(!pre_init)
return __pci_register_driver(driver, module);
driver->driver.owner = module;
list_add_tail(&driver->node, &ide_pci_drivers);
return 0;
}
and in ide_scan_pcibus() turn
pci_register_driver(d);
into
__pci_register_driver(d, d->driver.owner);

Update exports (i.e. export __pci_register_driver and __ide_pci_register_driver
instead of pci_register_driver and ide_pci_register_driver resp.).

At which point pci_driver->owner become unused and can be killed at leisure.
Objections?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-10-23 23:48    [from the cache]
©2003-2011 Jasper Spaans