Commit ef441dd6 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Greg Kroah-Hartman

usb: typec: mux: Allow the muxes to be named

The mux devices have been named by using the name of the
parent device as base until now, but if for example the
parent device has multiple muxes that will not work. This
makes it possible to supply the name for a mux during
registration.
Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20200302135353.56659-2-heikki.krogerus@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 67540460
...@@ -127,7 +127,8 @@ typec_switch_register(struct device *parent, ...@@ -127,7 +127,8 @@ typec_switch_register(struct device *parent,
sw->dev.class = &typec_mux_class; sw->dev.class = &typec_mux_class;
sw->dev.type = &typec_switch_dev_type; sw->dev.type = &typec_switch_dev_type;
sw->dev.driver_data = desc->drvdata; sw->dev.driver_data = desc->drvdata;
dev_set_name(&sw->dev, "%s-switch", dev_name(parent)); dev_set_name(&sw->dev, "%s-switch",
desc->name ? desc->name : dev_name(parent));
ret = device_add(&sw->dev); ret = device_add(&sw->dev);
if (ret) { if (ret) {
...@@ -309,7 +310,8 @@ typec_mux_register(struct device *parent, const struct typec_mux_desc *desc) ...@@ -309,7 +310,8 @@ typec_mux_register(struct device *parent, const struct typec_mux_desc *desc)
mux->dev.class = &typec_mux_class; mux->dev.class = &typec_mux_class;
mux->dev.type = &typec_mux_dev_type; mux->dev.type = &typec_mux_dev_type;
mux->dev.driver_data = desc->drvdata; mux->dev.driver_data = desc->drvdata;
dev_set_name(&mux->dev, "%s-mux", dev_name(parent)); dev_set_name(&mux->dev, "%s-mux",
desc->name ? desc->name : dev_name(parent));
ret = device_add(&mux->dev); ret = device_add(&mux->dev);
if (ret) { if (ret) {
......
...@@ -17,6 +17,7 @@ typedef int (*typec_switch_set_fn_t)(struct typec_switch *sw, ...@@ -17,6 +17,7 @@ typedef int (*typec_switch_set_fn_t)(struct typec_switch *sw,
struct typec_switch_desc { struct typec_switch_desc {
struct fwnode_handle *fwnode; struct fwnode_handle *fwnode;
typec_switch_set_fn_t set; typec_switch_set_fn_t set;
const char *name;
void *drvdata; void *drvdata;
}; };
...@@ -42,6 +43,7 @@ typedef int (*typec_mux_set_fn_t)(struct typec_mux *mux, ...@@ -42,6 +43,7 @@ typedef int (*typec_mux_set_fn_t)(struct typec_mux *mux,
struct typec_mux_desc { struct typec_mux_desc {
struct fwnode_handle *fwnode; struct fwnode_handle *fwnode;
typec_mux_set_fn_t set; typec_mux_set_fn_t set;
const char *name;
void *drvdata; void *drvdata;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment