Hello everyone, I don't know who the maintainer of the FEC (Fast Ethernet Controller) in the ppc8xx achitecture is, so I am writing this email here.
After spending some time working withy kernel 2.6.15 for the ppc8xx architecture, I've recently started to port to the 2.6.22. Doing so I have found some bugs in the code managing the FEC (fec.c). First I found (and cleared) some compilation errors due to inconsistent changes in function prototypes (i.e. INIT_WORK). Moreover, if the "MDIO for PHY" configuration is used (in my case for an LXT971 fec) the kernel couldn't manage to finish booting and was caught in an infinite loop waiting for fec intialization. I've seen that some bugs were fixed in the latest kernel but others haven't been addressed (possibly undetected yet). The following is a diff with corrections I made to the 2.6.22 'fec.c' file (currently seems to work fine). 883a884 > #ifdef PHY_INTERRUPT 884a886,888 > #else > fep->link = 1; /* If PHY_INTERRUPT is not defined, fep->link must be also put to 1 */ > #endif 1077c1082 < #endif /* CONFIG_FEC_LXT970 */ --- > #endif /* CONFIG_FEC_LXT971 */ 1281c1286 < container_of(work, struct fec_enet_private, phy_task); --- > container_of(work, struct fec_enet_private, phy_task2); /* use phy_task2 -->config */ 1660c1665,1666 < cbd_base = (cbd_t *)dma_alloc_coherent(dev->class_dev.dev, PAGE_SIZE, --- > /* The first parameter has changed */ > cbd_base = (cbd_t *)dma_alloc_coherent(&dev->dev, PAGE_SIZE, 1676,1678c1682,1684 < ba = (unsigned char *)dma_alloc_coherent(dev->class_dev.dev, --- > /* The first parameter has changed */ > ba = (unsigned char *)dma_alloc_coherent(&dev->dev, 1814,1816c1821,1824 < #ifdef CONFIG_USE_MDIO < INIT_WORK(&fep->phy_task, mii_relink, (void *)dev); < INIT_WORK(&fep->phy_task2, mii_display_config, (void *)dev); --- > #ifdef CONFIG_USE_MDIO /* INIT_WORK has only two parameter since 2.6.20 */ > INIT_WORK(&fep->phy_task, mii_relink); > INIT_WORK(&fep->phy_task2, mii_display_config); I hope this helps. Best regards, Raúl Moreno _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded