Sat, Feb 09, 2019 at 01:32:42AM CET, f.faine...@gmail.com wrote: >Following patches will change the way we communicate getting or setting
Just "setting", no "getting". >a port's attribute and use a blocking notifier to perform those tasks. > >Prepare rocker to support receiving notifier events targeting >SWITCHDEV_PORT_ATTR_SET and simply translate that into the existing >rocker_port_attr_set call. > >Signed-off-by: Florian Fainelli <f.faine...@gmail.com> >--- > drivers/net/ethernet/rocker/rocker_main.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > >diff --git a/drivers/net/ethernet/rocker/rocker_main.c >b/drivers/net/ethernet/rocker/rocker_main.c >index ff3f14504f4f..f10e4888ecff 100644 >--- a/drivers/net/ethernet/rocker/rocker_main.c >+++ b/drivers/net/ethernet/rocker/rocker_main.c >@@ -2811,6 +2811,24 @@ rocker_switchdev_port_obj_event(unsigned long event, >struct net_device *netdev, > return notifier_from_errno(err); > } > >+static int >+rocker_switchdev_port_attr_event(unsigned long event, struct net_device >*netdev, >+ struct switchdev_notifier_port_attr_info >+ *port_attr_info) >+{ >+ int err = -EOPNOTSUPP; >+ >+ switch (event) { >+ case SWITCHDEV_PORT_ATTR_SET: Do you expect some other event to be handled in rocker_switchdev_port_attr_event()? Because you have SWITCHDEV_PORT_ATTR_SET selected in case here and in rocker_switchdev_blocking_event. Perhaps you can rename rocker_switchdev_port_attr_event() to rocker_switchdev_port_attr_set_event() and avoid this switchcase. >+ err = rocker_port_attr_set(netdev, port_attr_info->attr, >+ port_attr_info->trans); >+ break; >+ } >+ >+ port_attr_info->handled = true; >+ return notifier_from_errno(err); >+} >+ > static int rocker_switchdev_blocking_event(struct notifier_block *unused, > unsigned long event, void *ptr) > { >@@ -2823,6 +2841,8 @@ static int rocker_switchdev_blocking_event(struct >notifier_block *unused, > case SWITCHDEV_PORT_OBJ_ADD: > case SWITCHDEV_PORT_OBJ_DEL: > return rocker_switchdev_port_obj_event(event, dev, ptr); >+ case SWITCHDEV_PORT_ATTR_SET: >+ return rocker_switchdev_port_attr_event(event, dev, ptr); > } > > return NOTIFY_DONE; >-- >2.17.1 > _______________________________________________ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel