Может кто подскажет чего по теме?
Имеется ввиду такая ситуация: ethernet во время разработки и отладки был очень кстати, а в законченном устройстве он не нужен.
Хочется для экономии батарейки полностью "обесточить" этот чип. Нашёл в drivers/net/dm9000.c
static void
dm9000_shutdown(struct net_device *dev)
{
board_info_t *db = (board_info_t *) dev->priv;
/* RESET device */
dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET); /* PHY RESET */
iow(db, DM9000_GPR, 0x01); /* Power-Down PHY */
iow(db, DM9000_IMR, IMR_PAR); /* Disable all interrupt */
iow(db, DM9000_RCR, 0x00); /* Disable RX */
}
Вроде бы управление энергосбережением есть, но не совсем ясно как им пользоваться.
Сие работать не хочет
# echo 1 > /sys/devices/platform/dm9000.0/power/state
sh: write error: Invalid argument
Подозреваю, что питание будет сниматься при выгрузке модуля dm9000. А для этого модуль надо сперва загрузить.
Как то некрасиво получается: модуль не использую, но приходится дёргать его туда-сюда.
А может достаточно модуль не загружать или даже не описывать его в файле tion270.c?
Мне не ясно, в каком состоянии микросхема оказывается после загрузки линукса.