On 07/10/2013 04:13 PM, Laxman Dewangan wrote:On Wednesday 10 July 2013 12:25 PM, Chanwoo Choi wrote:This patch store same meaning to two different variables which are included in different structure.
I did not like to break the TI design/code and hence added the option such that if there is no initialisation of this member or dts entry then assume it as the cable detection is enabled. Hence it need explicitly entry for disable the cable type detction. This is what for platform data structure.
On other structure, I use as other way to use in rest of code to make logic as
if (palmas_usb->enable_id_detction)
xxx.
rathar than
if (!palmas_usb->disable_id_detction)
xxx.
On rest of code, do now wan to use the pdata.
If we try to change the state of vbus/id detection on runtime, we have to modify two variables.
I think it isn't right.
struct palmas_platform_data {
....
bool disable_vbus_detection;
bool disable_id_detection;
};
struct palmas_usb {
...
bool enable_vbus_detection;
bool enable_id_detection;
};
You could only use the variables in struct palmas_usb without variables in struct palmas_platform_data
because extcon-palmas driver store only the pointer of 'struct palmas_usb' to dev->p->driver_data
by using platform_set_drvdata().
It is meaning to use 'struct palmas_usb' on other function except for palmas_usb_probe() in extcon-palmas.c.
if (node && !pdata) {
...
palmas_usb->wakeup = of_property_red_bool(node, "ti,wakeup);
palmas_usb->enable_vbus_detection = of_property_red_bool(node, "ti,enable_vbus_detection);
palmas_usb->enable_id_detection = of_property_red_bool(node, "ti,enable_id_detection);
} else (!pdata) {
palmas_usb->wakeup = true;
palmas_usb->enable_vbus_detection = true;
palmas_usb->enable_id_detection = true;
}