Hi Francois,
Thanks again for all your feedback. I have implemented most of your
suggestions,
> > /* Enable phy clocks to the MAC */
> > hwcfg &= (~HW_CFG_PHY_CLK_SEL_);
> > hwcfg |= HW_CFG_PHY_CLK_SEL_EXT_PHY_;
> > smsc911x_reg_write(hwcfg, pdata, HW_CFG);
> > udelay(10); /* Enough time
for clocks to restart */
>
> (back to my original question that I should have reworded in a different
> thread)
>
> Does the platform guarantees that the register write has actually
reached
> the real register when the udelay is issued ?
I think so, but maybe you can help me check. The LAN911x device is always
directly connected to a simple SRAM-like host bus, and smsc911x_reg_write
is implemented using readl. Does this implicitly guarantee it to be
volatile?
> >
> > if (!pdata->software_irq_signal) {
> > printk(KERN_WARNING "%s: ISR failed
signaling test (IRQ %d)\n",
> > dev->name, dev->irq);
> > return -ENODEV;
> > }
> > SMSC_TRACE("IRQ handler passed test using IRQ %d",
dev->irq);
> >
> > printk(KERN_INFO "%s: SMSC911x/921x identified at %#08lx,
IRQ: %d\n",
> > dev->name, (unsigned long)pdata->ioaddr,
dev->irq);
> >
> > spin_lock_irqsave(&pdata->phy_lock, flags);
>
> flags useless: ->open() is issued in irq-enabled context.
How do you mean? I thought an irq-enabled context meant i DO have to
disable irqs?
> > unsigned long flags;
> >
> > SMSC_TRACE("ioctl cmd 0x%x", cmd);
> > switch (cmd) {
> > case SIOCGMIIPHY:
> > case SIOCDEVPRIVATE:
>
> The SIOCDEVPRIVATE can/should be removed.
I have removed these, they were only in as a quick fix because mii-tool
here sends SIOCDEVPRIVATE instead of SIOCGMIIPHY. I fixed my copy of
mii-tool instead :o)
Best Regards,
--
Steve Glendinning
SMSC GmbH
m: +44 777 933 9124
e: [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html