]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
power: supply: Add Apple Brick ID power supply type
authorBenson Leung <bleung@chromium.org>
Mon, 8 May 2017 22:02:48 +0000 (15:02 -0700)
committerSebastian Reichel <sre@kernel.org>
Thu, 8 Jun 2017 11:05:22 +0000 (13:05 +0200)
Apple currently supports three very common USB chargers:
https://www.apple.com/power-adapters/

These chargers implement a proprietary Apple method for advertising
1A, 2.1A, and 2.4A at 5V called "Brick ID".
In addition, 3rd parties implement the same charging method in many
charging accessories that work with iOS devices.

Devices that have charger detection chips such as the Pericom PI3USB9281,
eg. Google Chromebook Pixel 2015, are capable of detecting
these chargers, so let's add a type to facilicate passing that info
up to userspace.

This adds a separate power supply type for Apple's proprietary
"Brick ID" charging method.

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
drivers/power/supply/power_supply_sysfs.c
include/linux/power_supply.h

index bcde8d13476af5ae2d4c639e2b8d67db7f17c9cf..07b484f995c1233d284a2537410d5575b1fa1604 100644 (file)
@@ -46,7 +46,7 @@ static ssize_t power_supply_show_property(struct device *dev,
        static char *type_text[] = {
                "Unknown", "Battery", "UPS", "Mains", "USB",
                "USB_DCP", "USB_CDP", "USB_ACA", "USB_C",
-               "USB_PD", "USB_PD_DRP"
+               "USB_PD", "USB_PD_DRP", "BrickID"
        };
        static char *status_text[] = {
                "Unknown", "Charging", "Discharging", "Not charging", "Full"
index 3965503315ef488f795536bb223ab19e9db929dd..4bd34051995e557d2dbe6200b8704dc31daef88e 100644 (file)
@@ -159,13 +159,14 @@ enum power_supply_type {
        POWER_SUPPLY_TYPE_BATTERY,
        POWER_SUPPLY_TYPE_UPS,
        POWER_SUPPLY_TYPE_MAINS,
-       POWER_SUPPLY_TYPE_USB,          /* Standard Downstream Port */
-       POWER_SUPPLY_TYPE_USB_DCP,      /* Dedicated Charging Port */
-       POWER_SUPPLY_TYPE_USB_CDP,      /* Charging Downstream Port */
-       POWER_SUPPLY_TYPE_USB_ACA,      /* Accessory Charger Adapters */
-       POWER_SUPPLY_TYPE_USB_TYPE_C,   /* Type C Port */
-       POWER_SUPPLY_TYPE_USB_PD,       /* Power Delivery Port */
-       POWER_SUPPLY_TYPE_USB_PD_DRP,   /* PD Dual Role Port */
+       POWER_SUPPLY_TYPE_USB,                  /* Standard Downstream Port */
+       POWER_SUPPLY_TYPE_USB_DCP,              /* Dedicated Charging Port */
+       POWER_SUPPLY_TYPE_USB_CDP,              /* Charging Downstream Port */
+       POWER_SUPPLY_TYPE_USB_ACA,              /* Accessory Charger Adapters */
+       POWER_SUPPLY_TYPE_USB_TYPE_C,           /* Type C Port */
+       POWER_SUPPLY_TYPE_USB_PD,               /* Power Delivery Port */
+       POWER_SUPPLY_TYPE_USB_PD_DRP,           /* PD Dual Role Port */
+       POWER_SUPPLY_TYPE_APPLE_BRICK_ID,       /* Apple Charging Method */
 };
 
 enum power_supply_notifier_events {