This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SMSC9512 auto suspend issue

Hi All,

We are using custom board with Gingerbread Android OS with kernel version 2.6.37. As part of our design, we are using SMSC LAN9512 for ethernet and more USB 2.0 PHY's.

Here everything is working good apart from it's high power consumption. If i enable auto suspend through command line by typing

echo "auto" > /sys/bus/usb/devices/1-1/power/control

echo "auto" > /sys/bus/usb/devices/1-1.1/power/control

echo "auto" > /sys/bus/usb/devices/1-1.3/power/control

it is going to low power mode and resuming on remote wakeup events properly.

Here 1-1(Main USB Hub), 1-1.1(Ethernet or LAN) and 1-1.3(Mouse).

But How can i enable auto suspend by default as part of driver loading without typing above commands manually through command line?

I put .supports_autosuspend = 1 in my usb hub driver

static struct usb_driver smsc9500_driver = {
    .name = "smsc9500",
    .id_table = products,
    .probe = smscusbnet_probe,
    .suspend = Smsc9500_suspend,
    .resume = Smsc9500_resume,
    .disconnect = smscusbnet_disconnect,
    .reset_resume = Smsc9500SystemResume,
    .supports_autosuspend = 1,
};

can anyone please help me?

Thanks,

Naresh