[PATCH] usb: typec: disable pm for typec class devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



as there is no pm operation, call device_set_pm_not_required() to disable
all typec class devices.

Signed-off-by: Linyu Yuan <quic_linyyuan@xxxxxxxxxxx>
---
 drivers/usb/typec/class.c   | 5 +++++
 drivers/usb/typec/mux.c     | 2 ++
 drivers/usb/typec/pd.c      | 3 +++
 drivers/usb/typec/retimer.c | 1 +
 4 files changed, 11 insertions(+)

diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
index ed3d070..b75ec6d 100644
--- a/drivers/usb/typec/class.c
+++ b/drivers/usb/typec/class.c
@@ -548,6 +548,7 @@ typec_register_altmode(struct device *parent,
 	alt->adev.dev.groups = alt->groups;
 	alt->adev.dev.type = &typec_altmode_dev_type;
 	dev_set_name(&alt->adev.dev, "%s.%u", dev_name(parent), id);
+	device_set_pm_not_required(&alt->adev.dev);
 
 	/* Link partners and plugs with the ports */
 	if (!is_port)
@@ -880,6 +881,7 @@ struct typec_partner *typec_register_partner(struct typec_port *port,
 	partner->dev.parent = &port->dev;
 	partner->dev.type = &typec_partner_dev_type;
 	dev_set_name(&partner->dev, "%s-partner", dev_name(&port->dev));
+	device_set_pm_not_required(&partner->dev);
 
 	ret = device_register(&partner->dev);
 	if (ret) {
@@ -1032,6 +1034,7 @@ struct typec_plug *typec_register_plug(struct typec_cable *cable,
 	plug->dev.parent = &cable->dev;
 	plug->dev.type = &typec_plug_dev_type;
 	dev_set_name(&plug->dev, "%s-%s", dev_name(cable->dev.parent), name);
+	device_set_pm_not_required(&plug->dev);
 
 	ret = device_register(&plug->dev);
 	if (ret) {
@@ -1197,6 +1200,7 @@ struct typec_cable *typec_register_cable(struct typec_port *port,
 	cable->dev.parent = &port->dev;
 	cable->dev.type = &typec_cable_dev_type;
 	dev_set_name(&cable->dev, "%s-cable", dev_name(&port->dev));
+	device_set_pm_not_required(&cable->dev);
 
 	ret = device_register(&cable->dev);
 	if (ret) {
@@ -2260,6 +2264,7 @@ struct typec_port *typec_register_port(struct device *parent,
 	port->dev.fwnode = cap->fwnode;
 	port->dev.type = &typec_port_dev_type;
 	dev_set_name(&port->dev, "port%d", id);
+	device_set_pm_not_required(&port->dev);
 	dev_set_drvdata(&port->dev, cap->driver_data);
 
 	port->cap = kmemdup(cap, sizeof(*cap), GFP_KERNEL);
diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c
index c7177dd..55b5417 100644
--- a/drivers/usb/typec/mux.c
+++ b/drivers/usb/typec/mux.c
@@ -183,6 +183,7 @@ typec_switch_register(struct device *parent,
 	sw_dev->dev.class = &typec_mux_class;
 	sw_dev->dev.type = &typec_switch_dev_type;
 	sw_dev->dev.driver_data = desc->drvdata;
+	device_set_pm_not_required(&sw_dev->dev);
 	ret = dev_set_name(&sw_dev->dev, "%s-switch", desc->name ? desc->name : dev_name(parent));
 	if (ret) {
 		put_device(&sw_dev->dev);
@@ -470,6 +471,7 @@ typec_mux_register(struct device *parent, const struct typec_mux_desc *desc)
 	mux_dev->dev.class = &typec_mux_class;
 	mux_dev->dev.type = &typec_mux_dev_type;
 	mux_dev->dev.driver_data = desc->drvdata;
+	device_set_pm_not_required(&mux_dev->dev);
 	ret = dev_set_name(&mux_dev->dev, "%s-mux", desc->name ? desc->name : dev_name(parent));
 	if (ret) {
 		put_device(&mux_dev->dev);
diff --git a/drivers/usb/typec/pd.c b/drivers/usb/typec/pd.c
index dc72005..252ef51 100644
--- a/drivers/usb/typec/pd.c
+++ b/drivers/usb/typec/pd.c
@@ -428,6 +428,7 @@ static int add_pdo(struct usb_power_delivery_capabilities *cap, u32 pdo, int pos
 	p->dev.parent = &cap->dev;
 	p->dev.type = type;
 	dev_set_name(&p->dev, "%u:%s", position + 1, name);
+	device_set_pm_not_required(&p->dev);
 
 	ret = device_register(&p->dev);
 	if (ret) {
@@ -490,6 +491,7 @@ usb_power_delivery_register_capabilities(struct usb_power_delivery *pd,
 	cap->dev.parent = &pd->dev;
 	cap->dev.type = &pd_capabilities_type;
 	dev_set_name(&cap->dev, "%s", cap_name[cap->role]);
+	device_set_pm_not_required(&cap->dev);
 
 	ret = device_register(&cap->dev);
 	if (ret) {
@@ -626,6 +628,7 @@ usb_power_delivery_register(struct device *parent, struct usb_power_delivery_des
 	pd->dev.type = &pd_type;
 	pd->dev.class = &pd_class;
 	dev_set_name(&pd->dev, "pd%d", pd->id);
+	device_set_pm_not_required(&pd->dev);
 
 	ret = device_register(&pd->dev);
 	if (ret) {
diff --git a/drivers/usb/typec/retimer.c b/drivers/usb/typec/retimer.c
index 0481e82..99105c9 100644
--- a/drivers/usb/typec/retimer.c
+++ b/drivers/usb/typec/retimer.c
@@ -122,6 +122,7 @@ typec_retimer_register(struct device *parent, const struct typec_retimer_desc *d
 	retimer->dev.class = &retimer_class;
 	retimer->dev.type = &typec_retimer_dev_type;
 	retimer->dev.driver_data = desc->drvdata;
+	device_set_pm_not_required(&retimer->dev);
 	dev_set_name(&retimer->dev, "%s-retimer",
 		     desc->name ? desc->name : dev_name(parent));
 
-- 
2.7.4




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux