Hi Chanwoo, On Tue, Mar 18, 2014 at 03:06:00PM +0900, Chanwoo Choi wrote: > I checked power_supply_get_by_phandle(). > But power_supply_get_by_phandle() is different from of_power_supply_get_dev() > > So, I expalin the difference between "power_supply_get_by_phandle()" and > "of_power_supply_get_dev()". > > Existing "power_supply_get_by_phandle()" > - Need correct the name of power_supply property. > some device driver using power_supply_get_by_phandle() has the dependecy of > the name of power_supply property. > > If the name of power_supply property is modified, > have to modify some device driver using power_supply_get_by_phandle().
The property names are part of the DT ABI, which is not supposed to be stable. > But, > Proposed "of_power_supply_get_dev()" > - of_power_supply_get_dev() has not dependency of specific name. > of_power_supply_get_dev() only need device type of power_supply device among > following device type: > "fuelgague" > "charger" > we can do addtional device type of power_supply device. > > If some device driver use of_poewr_supply_get_dev(), > don't need to consider the name of power_supply device. You don't need to consider the name of the power_supply device for power_supply_get_by_phandle either. You only need to consider the property name, which references the power_supply device. You can have a look at drivers/power/bq2415x_charger.c, which makes use of this function: power_supply_get_by_phandle(np, "ti,usb-charger-detection"); A corresponding DT node can be found in arch/arm/boot/dts/omap3-n900.dts: bq24150a: bq24150a@6b { /* ... */ ti,usb-charger-detection = <&isp1704>; } As you can see the property name has nothing to do with any names from the referenced node. Apart from that the node name is also needed by your proposed of_power_supply_get_dev. The difference is, that you hardcoded it to be either "fuelgauge" or "charger". The following two calls should return the same node: of_power_supply_get_dev(dev, POWER_SUPPLY_DEV_FUELGAUGE, 0); of_power_supply_get_dev(dev, "fuelgauge"); -- Sebastian
signature.asc
Description: Digital signature