With a non-modular kernel, the s3c_udc is initalised before PCF50606.
If the UDC is drawing power from the host, gta01_udc_vbus_draw() is
called back and it will try to tell the PCF50606 (which is
uninitialised) to enable fast-charge.

The patch also eliminates the race between code that wants to use
pcf50606_global before setting up I2C, by reordering the actions in
pcf50606_detect(). The race is not only potential because I've hit it.

The pcf50606_global usage is generally ugly :)

BTW I also had to disable PCF50606_FEAT_WDT in platform_data to make
pcf50606 work, not sure why.

Regards,
Andrzej

Attachment: linux-moko10-pcf-fastchg.patch
Description: Binary data

Reply via email to