[lm-sensors] lm75_remove: LM75 Device remove using sysfs delete_device

Sasikanth babu sasikanth.v19 at gmail.com
Thu Jun 14 15:40:27 CEST 2012


On Thu, Jun 14, 2012 at 3:05 PM, Sasikanth babu <sasikanth.v19 at gmail.com>wrote:

>
>
> On Thu, Jun 14, 2012 at 12:37 AM, Guenter Roeck <
> guenter.roeck at ericsson.com> wrote:
>
>> On Wed, Jun 13, 2012 at 01:59:50PM -0400, Jean Delvare wrote:
>> > On Wed, 13 Jun 2012 21:52:02 +0530, Sasikanth babu wrote:
>> > > Yes, as you had mentioned we just backported I2c mux support.
>> > > I planning to use
>> > > linux-2.6.39.4.tar.bz2<
>> http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.bz2>kernel
>> > > (Since I cant go to 3.x kernels for now).
>> > > Is that version is fine with I2c mux devices or do I have to go with
>> 3.x
>> > > kernels.?
>> >
>> > 2.6.39.4 should work fine with regards to i2c muxing, however this
>> > branch is already out of maintenance while the 3.0 branch is a longterm
>> > branch so it will be maintained for some more time (not sure exactly
>> > how long though.) So if 3.0 is an option, you should consider it
>> seriously.
>> >
>> I definitely agree, but that smells like large company process to me.
>> Sasikanth may not have much of a choice.
>>
>> Guenter
>>
>
> Sorry guys for bothering you again
>
>  I was running 2.6.39.4 kernel now.  Software reboot always creating
> problems with LM75 device and saying address
>  is busy but with hardware reboot It works fine (since all the power to
> board gets resets)
>
>  Added a error message on failure of * i2c_check_addr_busy.*
>
> *        /* Check for address business */
>         status = i2c_check_addr_busy(adap, client->addr);
>         if (status) {
>              dev_err(&adap->dev, "Address Busy to register i2c client %s
> at 0x%02x "
>                 "(%d)\n", client->name, client->addr, status);
>
>                 goto out_err;
>         }*
>
>
> * i2c i2c-3: Address Busy to register i2c client lm75 at 0x4c (-16)*
>  i2c i2c-3: Failed to register i2c client lm75 at 0x4c (-16)
> *i2c i2c-3: Address Busy to register i2c client lm75 at 0x4b (-16)*
> i2c i2c-3: Failed to register i2c client lm75 at 0x4b (-16)
>
> Thanks
> Sasi
>

After making the following changes, It is working fine on soft reboot too.

diff -urpN orig/linux-2.6.39.4/drivers/i2c/muxes/pca954x.c
linux-2.6.39.4/drivers/i2c/muxes/pca954x.c
--- orig/linux-2.6.39.4/drivers/i2c/muxes/pca954x.c     2011-08-03
15:43:28.000000000 -0400
+++ linux-2.6.39.4/drivers/i2c/muxes/pca954x.c  2012-06-14
08:37:52.572107218 -0400
@@ -174,6 +174,7 @@ static int pca954x_deselect_mux(struct i
        struct pca954x *data = i2c_get_clientdata(client);

        /* Deselect active channel */
+       printk (KERN_INFO"pca954x_deselect_mux: called ...\n");
        data->last_chan = 0;
        return pca954x_reg_write(adap, client, data->last_chan);
 }
@@ -228,8 +229,7 @@ static int pca954x_probe(struct i2c_clie
                data->virt_adaps[num] =
                        i2c_add_mux_adapter(adap, client,
                                force, num, pca954x_select_chan,
*-                               (pdata &&
pdata->modes[num].deselect_on_exit)
-                                       ? pca954x_deselect_mux : NULL);
+                               pca954x_deselect_mux);*

                if (data->virt_adaps[num] == NULL) {
                        ret = -ENODEV;

No one  is setting the "deselect_on_exit" for pca954x devices (verified in
3.5.0-rc2 too). Does the* pca954x_deselect_mux *not required for PCA mux
devices* *for every bus transfer?*.


*Thanks
Sasi*
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20120614/623f6355/attachment.html>


More information about the lm-sensors mailing list