RE: [PATCH v3 5/5] gpio: mxc: enable pad wakeup on i.MX8x platforms

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

 




> -----Original Message-----
> From: Peng Fan <peng.fan@xxxxxxx>
> Sent: Wednesday, October 26, 2022 1:20 AM
> >+	if (of_device_is_compatible(np, "fsl,imx8dxl-gpio") ||
> >+		of_device_is_compatible(np, "fsl,imx8qxp-gpio") ||
> >+		of_device_is_compatible(np, "fsl,imx8qm-gpio"))
> >+		return gpiochip_generic_config(&port->gc, offset, config);
> 
> checkpatch should report warning.
> 

It is actually no warning. 😊
$ ./scripts/checkpatch.pl 0005-gpio-mxc-enable-pad-wakeup-on-i.MX8x-platforms.patch 
total: 0 errors, 0 warnings, 150 lines checked

0005-gpio-mxc-enable-pad-wakeup-on-i.MX8x-platforms.patch has no obvious style problems and is ready for submission.

Regards,
Shenwei

> >+
> >+	return 0;
> >+}
> >+
> >+static void mxc_gpio_set_pad_wakeup(struct mxc_gpio_port *port, bool
> >+enable) {
> >+	unsigned long config;
> >+	int i, type;
> >+
> >+	static const u32 pad_type_map[] = {
> >+		IMX_SCU_WAKEUP_OFF,		/* 0 */
> >+		IMX_SCU_WAKEUP_RISE_EDGE,	/* IRQ_TYPE_EDGE_RISING */
> >+		IMX_SCU_WAKEUP_FALL_EDGE,	/*
> IRQ_TYPE_EDGE_FALLING */
> >+		IMX_SCU_WAKEUP_FALL_EDGE,	/*
> IRQ_TYPE_EDGE_BOTH */
> >+		IMX_SCU_WAKEUP_HIGH_LVL,	/* IRQ_TYPE_LEVEL_HIGH */
> >+		IMX_SCU_WAKEUP_OFF,		/* 5 */
> >+		IMX_SCU_WAKEUP_OFF,		/* 6 */
> >+		IMX_SCU_WAKEUP_OFF,		/* 7 */
> >+		IMX_SCU_WAKEUP_LOW_LVL,		/*
> IRQ_TYPE_LEVEL_LOW */
> >+	};
> >+
> >+	for (i = 0; i < 32; i++) {
> >+		if ((port->wakeup_pads & (1<<i))) {
> >+			type = port->pad_type[i];
> >+			if (enable)
> >+				config = pad_type_map[type];
> >+			else
> >+				config = IMX_SCU_WAKEUP_OFF;
> >+			mxc_gpio_generic_config(port, i, config);
> >+		}
> >+	}
> >+}
> >+
> >+static int __maybe_unused mxc_gpio_noirq_suspend(struct device *dev) {
> >+	struct platform_device *pdev = to_platform_device(dev);
> >+	struct mxc_gpio_port *port = platform_get_drvdata(pdev);
> >+
> >+	if (port->wakeup_pads > 0) {
> >+		mxc_gpio_set_pad_wakeup(port, true);
> >+		port->is_pad_wakeup = true;
> >+	}
> >+
> >+	return 0;
> >+}
> >+
> >+static int __maybe_unused mxc_gpio_noirq_resume(struct device *dev) {
> >+	struct platform_device *pdev = to_platform_device(dev);
> >+	struct mxc_gpio_port *port = platform_get_drvdata(pdev);
> >+
> >+	if (port->wakeup_pads > 0)
> >+		mxc_gpio_set_pad_wakeup(port, false);
> >+	port->is_pad_wakeup = false;
> >+
> >+	return 0;
> >+}
> >+
> >+static const struct dev_pm_ops mxc_gpio_dev_pm_ops = {
> >+	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mxc_gpio_noirq_suspend,
> >+mxc_gpio_noirq_resume) };
> >+
> > static int mxc_gpio_syscore_suspend(void)  {
> > 	struct mxc_gpio_port *port;
> >@@ -537,6 +625,7 @@ static struct platform_driver mxc_gpio_driver = {
> > 		.name	= "gpio-mxc",
> > 		.of_match_table = mxc_gpio_dt_ids,
> > 		.suppress_bind_attrs = true,
> >+		.pm = &mxc_gpio_dev_pm_ops,
> > 	},
> > 	.probe		= mxc_gpio_probe,
> > };
> 
> 
> Except the format issue, patch looks good to me.
> 
> Regards,
> Peng.
> 
> >--
> >2.34.1
> >
> 
> --




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux