Loading Documentation/devicetree/bindings/platform/msm/qpnp-revid.txt +2 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ Required properties: Optional property: - qcom,fab-id-valid: Use this property when support to read Fab identification from REV ID peripheral is available. - qcom,tp-rev-valid: Use this property when support to read TP revision identification from REV ID peripheral. Example: qcom,revid@100 { Loading drivers/platform/msm/qpnp-revid.c +9 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #define REVID_SUBTYPE 0x5 #define REVID_STATUS1 0x8 #define REVID_SPARE_0 0x60 #define REVID_TP_REV 0xf1 #define REVID_FAB_ID 0xf2 #define QPNP_REVID_DEV_NAME "qcom,qpnp-revid" Loading Loading @@ -157,9 +158,9 @@ static size_t build_pmic_string(char *buf, size_t n, int sid, static int qpnp_revid_probe(struct platform_device *pdev) { u8 rev1, rev2, rev3, rev4, pmic_type, pmic_subtype, pmic_status; u8 option1, option2, option3, option4, spare0, fab_id; u8 option1, option2, option3, option4, spare0; unsigned int base; int rc; int rc, fab_id, tp_rev; char pmic_string[PMIC_STRING_MAXLENGTH] = {'\0'}; struct revid_chip *revid_chip; struct regmap *regmap; Loading Loading @@ -207,6 +208,11 @@ static int qpnp_revid_probe(struct platform_device *pdev) else fab_id = -EINVAL; if (of_property_read_bool(pdev->dev.of_node, "qcom,tp-rev-valid")) tp_rev = qpnp_read_byte(regmap, base + REVID_TP_REV); else tp_rev = -EINVAL; revid_chip = devm_kzalloc(&pdev->dev, sizeof(struct revid_chip), GFP_KERNEL); if (!revid_chip) Loading @@ -220,6 +226,7 @@ static int qpnp_revid_probe(struct platform_device *pdev) revid_chip->data.pmic_subtype = pmic_subtype; revid_chip->data.pmic_type = pmic_type; revid_chip->data.fab_id = fab_id; revid_chip->data.tp_rev = tp_rev; if (pmic_subtype < ARRAY_SIZE(pmic_names)) revid_chip->data.pmic_name = pmic_names[pmic_subtype]; Loading drivers/power/supply/qcom/qpnp-smb2.c +5 −1 Original line number Diff line number Diff line Loading @@ -798,6 +798,7 @@ static enum power_supply_property smb2_dc_props[] = { POWER_SUPPLY_PROP_PRESENT, POWER_SUPPLY_PROP_ONLINE, POWER_SUPPLY_PROP_CURRENT_MAX, POWER_SUPPLY_PROP_REAL_TYPE, }; static int smb2_dc_get_prop(struct power_supply *psy, Loading @@ -818,6 +819,9 @@ static int smb2_dc_get_prop(struct power_supply *psy, case POWER_SUPPLY_PROP_CURRENT_MAX: rc = smblib_get_prop_dc_current_max(chg, val); break; case POWER_SUPPLY_PROP_REAL_TYPE: val->intval = POWER_SUPPLY_TYPE_WIPOWER; break; default: return -EINVAL; } Loading Loading @@ -866,7 +870,7 @@ static int smb2_dc_prop_is_writeable(struct power_supply *psy, static const struct power_supply_desc dc_psy_desc = { .name = "dc", .type = POWER_SUPPLY_TYPE_WIPOWER, .type = POWER_SUPPLY_TYPE_WIRELESS, .properties = smb2_dc_props, .num_properties = ARRAY_SIZE(smb2_dc_props), .get_property = smb2_dc_get_prop, Loading include/linux/qpnp/qpnp-revid.h +1 −0 Original line number Diff line number Diff line Loading @@ -247,6 +247,7 @@ struct pmic_revid_data { u8 pmic_subtype; const char *pmic_name; int fab_id; int tp_rev; }; #ifdef CONFIG_QPNP_REVID Loading Loading
Documentation/devicetree/bindings/platform/msm/qpnp-revid.txt +2 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ Required properties: Optional property: - qcom,fab-id-valid: Use this property when support to read Fab identification from REV ID peripheral is available. - qcom,tp-rev-valid: Use this property when support to read TP revision identification from REV ID peripheral. Example: qcom,revid@100 { Loading
drivers/platform/msm/qpnp-revid.c +9 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #define REVID_SUBTYPE 0x5 #define REVID_STATUS1 0x8 #define REVID_SPARE_0 0x60 #define REVID_TP_REV 0xf1 #define REVID_FAB_ID 0xf2 #define QPNP_REVID_DEV_NAME "qcom,qpnp-revid" Loading Loading @@ -157,9 +158,9 @@ static size_t build_pmic_string(char *buf, size_t n, int sid, static int qpnp_revid_probe(struct platform_device *pdev) { u8 rev1, rev2, rev3, rev4, pmic_type, pmic_subtype, pmic_status; u8 option1, option2, option3, option4, spare0, fab_id; u8 option1, option2, option3, option4, spare0; unsigned int base; int rc; int rc, fab_id, tp_rev; char pmic_string[PMIC_STRING_MAXLENGTH] = {'\0'}; struct revid_chip *revid_chip; struct regmap *regmap; Loading Loading @@ -207,6 +208,11 @@ static int qpnp_revid_probe(struct platform_device *pdev) else fab_id = -EINVAL; if (of_property_read_bool(pdev->dev.of_node, "qcom,tp-rev-valid")) tp_rev = qpnp_read_byte(regmap, base + REVID_TP_REV); else tp_rev = -EINVAL; revid_chip = devm_kzalloc(&pdev->dev, sizeof(struct revid_chip), GFP_KERNEL); if (!revid_chip) Loading @@ -220,6 +226,7 @@ static int qpnp_revid_probe(struct platform_device *pdev) revid_chip->data.pmic_subtype = pmic_subtype; revid_chip->data.pmic_type = pmic_type; revid_chip->data.fab_id = fab_id; revid_chip->data.tp_rev = tp_rev; if (pmic_subtype < ARRAY_SIZE(pmic_names)) revid_chip->data.pmic_name = pmic_names[pmic_subtype]; Loading
drivers/power/supply/qcom/qpnp-smb2.c +5 −1 Original line number Diff line number Diff line Loading @@ -798,6 +798,7 @@ static enum power_supply_property smb2_dc_props[] = { POWER_SUPPLY_PROP_PRESENT, POWER_SUPPLY_PROP_ONLINE, POWER_SUPPLY_PROP_CURRENT_MAX, POWER_SUPPLY_PROP_REAL_TYPE, }; static int smb2_dc_get_prop(struct power_supply *psy, Loading @@ -818,6 +819,9 @@ static int smb2_dc_get_prop(struct power_supply *psy, case POWER_SUPPLY_PROP_CURRENT_MAX: rc = smblib_get_prop_dc_current_max(chg, val); break; case POWER_SUPPLY_PROP_REAL_TYPE: val->intval = POWER_SUPPLY_TYPE_WIPOWER; break; default: return -EINVAL; } Loading Loading @@ -866,7 +870,7 @@ static int smb2_dc_prop_is_writeable(struct power_supply *psy, static const struct power_supply_desc dc_psy_desc = { .name = "dc", .type = POWER_SUPPLY_TYPE_WIPOWER, .type = POWER_SUPPLY_TYPE_WIRELESS, .properties = smb2_dc_props, .num_properties = ARRAY_SIZE(smb2_dc_props), .get_property = smb2_dc_get_prop, Loading
include/linux/qpnp/qpnp-revid.h +1 −0 Original line number Diff line number Diff line Loading @@ -247,6 +247,7 @@ struct pmic_revid_data { u8 pmic_subtype; const char *pmic_name; int fab_id; int tp_rev; }; #ifdef CONFIG_QPNP_REVID Loading