Re: [patch 2.4.28-pre3] 3c59x: resync with 2.6

Jeff Garzik
2004-10-08T19:13:06Z

John W. Linville wrote:

> static struct ethtool_ops vortex_ethtool_ops = {
> - .get_drvinfo = vortex_get_drvinfo,
> + .get_drvinfo = vortex_get_drvinfo,
> };

reverting good style.

>
> -static int vortex_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
> +#ifdef CONFIG_PCI
> +static int vortex_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
> {
> - struct vortex_private *vp = (struct vortex_private *)dev->priv;
> + struct vortex_private *vp = netdev_priv(dev);
> long ioaddr = dev->base_addr;
> - struct mii_ioctl_data *data = (struct mii_ioctl_data *)&rq->ifr_data;
> + struct mii_ioctl_data *data = if_mii(rq);
> int phy = vp->phys[0] & 0x1f;
> int retval;
>
> switch(cmd) {
> case SIOCGMIIPHY: /* Get address of MII PHY in use. */
> - case SIOCDEVPRIVATE: /* for binary compat, remove in 2.5 */
> data->phy_id = phy;
>
> case SIOCGMIIREG: /* Read MII PHY register. */
> - case SIOCDEVPRIVATE+1: /* for binary compat, remove in 2.5 */
> EL3WINDOW(4);
> data->val_out = mdio_read(dev, data->phy_id & 0x1f, data->reg_num & 0x1f);
> retval = 0;
> break;
>
> case SIOCSMIIREG: /* Write MII PHY register. */
> - case SIOCDEVPRIVATE+2: /* for binary compat, remove in 2.5 */

breaks ABI in the middle of a stable series

> @@ -144,6 +145,12 @@ struct mii_ioctl_data {
> };
>
>
> +static inline struct mii_ioctl_data *if_mii(struct ifreq *rq)
> +{
> + return (struct mii_ioctl_data *) &rq->ifr_ifru;
> +}
> +
> +

This should be in include/linux/mii.h like it is in 2.6.x.

Jeff