> >> + > >> + desc = &charger->desc; > >> + desc->name = "usb-charger"; > >> + desc->properties = usb_charger_properties; > >> + desc->num_properties = ARRAY_SIZE(usb_charger_properties); > >> + desc->get_property = usb_charger_get_property; > >> + desc->type = POWER_SUPPLY_TYPE_USB; > > > > What's your further plan for this generic USB charger? > > To support BC1.2, we need to know charger type, and how we could get > > it? > > > > Peter > > Well I don't really know. The USB role framework does not give any info about > what's plugged. > What's the use case for this patch set? How it be used? Thanks, Peter > -Paul > > > > > >> + > >> + charger->charger = devm_power_supply_register(dev, desc, &cfg); > >> + if (IS_ERR(charger->charger)) { > >> + dev_err(dev, "Unable to register charger"); > >> + return PTR_ERR(charger->charger); > >> + } > >> + > >> + err = usb_role_switch_register_notifier(charger->role, > >> &charger->nb); > >> + if (err) { > >> + dev_err(dev, "Unable to register USB role switch notifier"); > >> + return err; > >> + } > >> + > >> + return devm_add_action_or_reset(dev, usb_charger_unregister, > >> charger); > >> +} > >> + > >> +static const struct of_device_id usb_charger_of_match[] = { > >> + { .compatible = "usb-charger" }, > >> + { /* sentinel */ }, > >> +}; > >> +MODULE_DEVICE_TABLE(of, usb_charger_of_match); + +static struct > >> platform_driver usb_charger_driver = { > >> + .driver = { > >> + .name = "usb-charger", > >> + .of_match_table = of_match_ptr(usb_charger_of_match), > >> + }, > >> + .probe = usb_charger_probe, > >> +}; > >> +module_platform_driver(usb_charger_driver); > >> + > >> +MODULE_DESCRIPTION("Simple USB charger driver"); > >> +MODULE_AUTHOR("Paul Cercueil <paul@xxxxxxxxxxxxxxx>"); > >> +MODULE_LICENSE("GPL"); > >> -- > >> 2.24.0 > >> > > > > -- > > > > Thanks, > > Peter Chen >