[U-Boot] [PATCH 05/10] net: designware: Add a post-started hook
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Mon Oct 5 10:55:45 CEST 2015
On Sat, 2015-10-03 at 15:30 +0100, Simon Glass wrote:
> Hi Sjoerd,
> > static int designware_eth_send(struct udevice *dev, void *packet,
> > int length)
> > diff --git a/drivers/net/designware.h b/drivers/net/designware.h
> > index 47e727b..b45599b 100644
> > --- a/drivers/net/designware.h
> > +++ b/drivers/net/designware.h
> > @@ -236,6 +236,10 @@ struct dw_eth_dev {
> > #endif
> > struct phy_device *phydev;
> > struct mii_dev *bus;
> > +
> > +#ifdef CONFIG_DM_ETH
> > + int (*started)(struct udevice *dev);
> > +#endif
>
> With driver model we should not need to add such hooks. is this
> needed
> because we don't have a PHY uclass yet?
Essentially I need to be able to configure one of the GMAC clocks
depending on the result of the phy negotiation. Looking at the linux
kernel this seems a rather common item for the dw gmac interface.
I guess, I could do without that hook by exporting all functions
required to fill the eth_ops struct and override the start function.
Would you prefer that?
I guess a PHY uclass would also help here, assuming such a uclass would
provide a callback for link state changes (e.g. like of_phy_connect in
Linux).
> > };
> >
> > #ifdef CONFIG_DM_ETH
> > --
> > 2.5.3
> >
>
> Regards,
> Simon
--
Sjoerd Simons
Collabora Ltd.
More information about the U-Boot
mailing list