[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170124141548.GA14489@amd>
Date: Tue, 24 Jan 2017 15:15:48 +0100
From: Pavel Machek <pavel@....cz>
To: Guenter Roeck <linux@...ck-us.net>
Cc: Zhang Rui <rui.zhang@...el.com>, pali.rohar@...il.com,
sre@...nel.org, kernel list <linux-kernel@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-omap@...r.kernel.org, tony@...mide.com, khilman@...nel.org,
aaro.koskinen@....fi, ivo.g.dimitrov.75@...il.com,
patrikbachan@...il.com, serge@...lyn.com, abcloriens@...il.com,
fabio.estevam@....com
Subject: Re: v4.10-rc4 to v4.10-rc5: battery regression on Nokia N900
Hi!
> >>>>/sys files related to battery no longer appear. I beieve this has
> >>>>something to do with it:
> >>>>
> >>>>[ 2.374877] of_get_named_gpiod_flags: parsed 'reset-gpios' property
> >>>>of node '/ocp@...00000/spi@...98000/tsc2005@0[0]' - status (0)
> >>>>[ 2.375946] input: TSC2005 touchscreen as
> >>>>/devices/platform/68000000.ocp/48098000.spi/spi_master/spi1/spi1.0/input/input5
> >>>>[ 2.392120] rx51-battery: probe of n900-battery failed with error
> >>>>-22
> >>>
> >>>Mystery solved:
> >>>
> >>>diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
> >>>index 3932f92..fe5ec82 100644
> >>>--- a/drivers/hwmon/hwmon.c
> >>>+++ b/drivers/hwmon/hwmon.c
> >>>@@ -545,8 +545,10 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
> >>> int i, j, err, id;
> >>>
> >>> /* Do not accept invalid characters in hwmon name attribute */
> >>>- if (name && (!strlen(name) || strpbrk(name, "-* \t\n")))
> >>>+ if (name && (!strlen(name) || strpbrk(name, "-* \t\n"))) {
> >>>+ printk("hwmon: Invalid character detected: %s\n", name);
> >>> return ERR_PTR(-EINVAL);
> >>>+ }
> >>>
> >>> id = ida_simple_get(&hwmon_ida, 0, 0, GFP_KERNEL);
> >>> if (id < 0)
> >>>
> >>>
> >>>pavel@...0:~$ dmesg | grep -5 Invalid
> >>>[ 0.829650] of_get_named_gpiod_flags: parsed 'gpio-reset' property
> >>>of node '/ocp@...00000/i2c@...72000/tlv320aic3x@19[0]' - status (0)
> >>>[ 0.833831] tsl2563 2-0029: model 7, rev. 0
> >>>[ 0.837768] of_get_named_gpiod_flags: parsed 'enable-gpio' property
> >>>of node '/ocp@...00000/i2c@...72000/lp5523@32[0]' - status (0)
> >>>[ 1.921417] omap_i2c 48072000.i2c: controller timed out
> >>>[ 2.056823] lp5523x 2-0032: lp5523 Programmable led chip found
> >>>[ 2.064147] hwmon: Invalid character detected: bq27200-0
> >>
> >>So the problem is really that the thermal driver needs to create a valid name.
> >>
> >Right.
> >
> >Before reverting, can you please try if this patch works or not?
> >diff --git a/drivers/thermal/thermal_hwmon.c b/drivers/thermal/thermal_hwmon.c
> >index c4a508a..0c6789f 100644
> >--- a/drivers/thermal/thermal_hwmon.c
> >+++ b/drivers/thermal/thermal_hwmon.c
> >@@ -157,8 +157,8 @@ int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
> >
> > INIT_LIST_HEAD(&hwmon->tz_list);
> > strlcpy(hwmon->type, tz->type, THERMAL_NAME_LENGTH);
> >- hwmon->device = hwmon_device_register_with_info(NULL, hwmon->type,
> >- hwmon, NULL, NULL);
> >+ hwmon->device = hwmon_device_register_with_info(NULL, NULL, NULL,
> >+ NULL, NULL);
>
> This is wrong. The name should be converted to a valid name. Otherwise you would
> still have to provide the name attribute yourself, and the resulting name would
> still be invalid. A simple fix would be to add
> strreplace(hwmon->type, '-', '_');
> after strlcpy().
Simple, yes. But that will change userland interface. Is it okay thing
to do?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists