[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1336400676.12407.10.camel@fourier.local.igalia.com>
Date: Mon, 07 May 2012 16:24:36 +0200
From: Samuel Iglesias Gonsálvez
<siglesias@...lia.com>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/3] Staging: IndustryPack bus for the Linux Kernel
On Mon, 2012-05-07 at 10:24 +0200, Samuel Iglesias Gonsálvez wrote:
> On Mon, 2012-05-07 at 11:04 +0300, Dan Carpenter wrote:
> >
> > [snip]
> >
> > > +int ipack_device_find_drv(struct device_driver *driver, void *param)
> > > +{
> > > + int ret;
> > > + struct ipack_device *dev = (struct ipack_device *)param;
> > > +
> > > + ret = ipack_bus_match(&dev->dev, driver);
> > > + if (ret)
> > > + return !ipack_bus_probe(&dev->dev);
> >
> > Wouldn't probe() return zero or a negative error code?
>
> Yes. However, in case of the function called by bus_for_each_drv(), it
> should return zero if you want to continue or nonzero value to stop the
> iteration.
>
> I considered that if the probe fails, we can try with the next driver in
> the list. So, the returned value of probe() is negated.
Checking the device_register() function, it actually does the same I am
trying to do here: call the bus' match() function with each driver
registered on the bus searching which one can manage the device, and
then call the probe().
So I can delete this function safely and bus_for_each_drv() in
ipack_device_register().
Thanks,
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists