i2c-viapro and via686a don't mix with linux-2.6.0-test1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 15, 2003 at 06:14:34PM +0200, Jean Delvare wrote:
> Log Message:
> (mds) don't use pci_module_init() for video i2c drivers so we don't
>       conflict with video drivers
> 
> It was for a different conflict (it seems). However, the changes made to
> i2c-viapro.c may also prevent the conflict you observed. This is a very
> recent change (occured on July 2nd.). I attached the patch, could you
> please check wether it is already applied to the 2.6.0 kernel tree? If
> not, could you try to apply it and tell us if it solves your problem?
> 
> I admit I'm a bit confused, because i2c-viapro is a bus driver while
> via686a is a chip driver. Thus I wonder how they can conflict...
> However, the driver registering mechanisms of the Linux kernel is beyond
> me, so it may just be me ;)

No, this isn't a valid solution.  The proper thing would be to put the
i2c bus functions within the video driver.  

The issue is that only one pci driver can bind to a device at the same
time.  You are working around it by grabbing the pci device that is
already bound to another driver, but that way is racy, and can cause big
problems (your driver will not be notified if the device goes away, like
in a hotplug system.)  Because of this, I'll be removing the
pci_for_each_dev() functions from the kernel once 2.7 opens up, and
possibly sooner if that takes a while...

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux