Re: [PATCH v6 3/5] ACPI: battery: Add a blacklist with PMIC ACPI HIDs with a native battery driver

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

 



On Tue, 2017-04-18 at 13:58 +0200, Hans de Goede wrote:
> On some systems we have a native PMIC driver which provides battery
> monitoring, while the ACPI battery driver is broken on these systems
> due to bad DSDTs or because we do not support the proprietary and
> undocumented ACPI opregions these ACPI battery devices rely on
> (e.g. BMOP opregion).
> 
> This leads to there being 2 battery power_supply-s registed like this:
> 
> ~$ acpi
> Battery 0: Charging, 84%, 00:49:39 until charged
> Battery 1: Unknown, 0%, rate information unavailable
> 
> Even if the ACPI battery where to function fine (which on systems
> where we have a native PMIC driver it often doesn't) we still do not
> want to export the same battery to userspace twice.
> 
> This commit adds a blacklist with PMIC ACPI HIDs for which we've a
> native battery driver and makes the ACPI battery driver not register
> itself when a PMIC on this list is present.
> 

Some minor comments, sorry, didn't sent earlier.

Since they are minor, consider to change if some more serious stuff
comes up.


> +/* Lists of PMIC ACPI HIDs with an (often better) native battery
> driver */
> +static const char * const acpi_battery_blacklist[] = {
> +	"INT33F4", /* X-Powers AXP288 PMIC */

> +	NULL

Can we use ARRAY_SIZE() instead?

> +};
> +
>  enum {
>  	ACPI_BATTERY_ALARM_PRESENT,
>  	ACPI_BATTERY_XINFO_PRESENT,
> @@ -1316,7 +1322,15 @@ static struct acpi_driver acpi_battery_driver =
> {
>  
>  static void __init acpi_battery_init_async(void *unused,
> async_cookie_t cookie)
>  {
> -	int result;
> +	int i, result;
> +

> +	for (i = 0; acpi_battery_blacklist[i]; i++)


> +		if (acpi_dev_present(acpi_battery_blacklist[i], "1",
> -1)) {
> +			pr_info("ACPI: %s: found native %s PMIC, not
> loading\n",

pr_info(PREFIX "%s: ...

-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux