Re: [PATCH net-next v2 1/6] net: dsa: add port_fdb_dump function

From: David Miller
Date: Wed Oct 14 2015 - 08:56:27 EST


From: Vivien Didelot <vivien.didelot@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 13 Oct 2015 12:46:18 -0400

> @@ -198,7 +198,9 @@ static inline u8 dsa_upstream_port(struct dsa_switch *ds)
> }
>
> struct switchdev_trans;
> +struct switchdev_obj;
> struct switchdev_obj_port_fdb;
> +typedef int switchdev_obj_dump_cb_t(struct switchdev_obj *obj);
>
> struct dsa_switch_driver {
> struct list_head list;
...
> @@ -382,6 +382,9 @@ static int dsa_slave_port_fdb_dump(struct net_device *dev,
> u16 vid = 0;
> int ret;
>
> + if (ds->drv->port_fdb_dump)
> + return ds->drv->port_fdb_dump(ds, p->port, fdb, cb);
> +
> if (!ds->drv->port_fdb_getnext)

I realize you're fighting include file dependency issues, but this is
rediculous. Now you're using two different typedefs for this callback
function pointer.

This is why typedef's suck.

We should just opencode "int (*cb)(struct switchdev_obj *)" everywhere
and kill these typedefs which are obviously just getting in the way
and making us do silly things.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/