Skip to content

Commit 113adaf

Browse files
committed
Merge patch series "pinctrl: intel: Use NOIRQ PM helper"
Andy Shevchenko <[email protected]> says: Intel pin control drivers use NOIRQ variant of the PM callbacks. To make them smaller and less error prone against different kernel configurations (with possible defined but not used variables) switch to use NOIRQ PM helper. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Andy Shevchenko <[email protected]>
2 parents b85ea95 + 649e984 commit 113adaf

17 files changed

+38
-62
lines changed

drivers/pinctrl/intel/pinctrl-alderlake.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/mod_devicetable.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/pm.h>
1213

1314
#include <linux/pinctrl/pinctrl.h>
1415

@@ -733,14 +734,12 @@ static const struct acpi_device_id adl_pinctrl_acpi_match[] = {
733734
};
734735
MODULE_DEVICE_TABLE(acpi, adl_pinctrl_acpi_match);
735736

736-
static INTEL_PINCTRL_PM_OPS(adl_pinctrl_pm_ops);
737-
738737
static struct platform_driver adl_pinctrl_driver = {
739738
.probe = intel_pinctrl_probe_by_hid,
740739
.driver = {
741740
.name = "alderlake-pinctrl",
742741
.acpi_match_table = adl_pinctrl_acpi_match,
743-
.pm = &adl_pinctrl_pm_ops,
742+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
744743
},
745744
};
746745
module_platform_driver(adl_pinctrl_driver);

drivers/pinctrl/intel/pinctrl-broxton.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/mod_devicetable.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/pm.h>
1213

1314
#include <linux/pinctrl/pinctrl.h>
1415

@@ -1000,14 +1001,12 @@ static const struct platform_device_id bxt_pinctrl_platform_ids[] = {
10001001
};
10011002
MODULE_DEVICE_TABLE(platform, bxt_pinctrl_platform_ids);
10021003

1003-
static INTEL_PINCTRL_PM_OPS(bxt_pinctrl_pm_ops);
1004-
10051004
static struct platform_driver bxt_pinctrl_driver = {
10061005
.probe = intel_pinctrl_probe_by_uid,
10071006
.driver = {
10081007
.name = "broxton-pinctrl",
10091008
.acpi_match_table = bxt_pinctrl_acpi_match,
1010-
.pm = &bxt_pinctrl_pm_ops,
1009+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
10111010
},
10121011
.id_table = bxt_pinctrl_platform_ids,
10131012
};

drivers/pinctrl/intel/pinctrl-cannonlake.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <linux/mod_devicetable.h>
1111
#include <linux/module.h>
1212
#include <linux/platform_device.h>
13+
#include <linux/pm.h>
1314

1415
#include <linux/pinctrl/pinctrl.h>
1516

@@ -824,14 +825,12 @@ static const struct acpi_device_id cnl_pinctrl_acpi_match[] = {
824825
};
825826
MODULE_DEVICE_TABLE(acpi, cnl_pinctrl_acpi_match);
826827

827-
static INTEL_PINCTRL_PM_OPS(cnl_pinctrl_pm_ops);
828-
829828
static struct platform_driver cnl_pinctrl_driver = {
830829
.probe = intel_pinctrl_probe_by_hid,
831830
.driver = {
832831
.name = "cannonlake-pinctrl",
833832
.acpi_match_table = cnl_pinctrl_acpi_match,
834-
.pm = &cnl_pinctrl_pm_ops,
833+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
835834
},
836835
};
837836
module_platform_driver(cnl_pinctrl_driver);

drivers/pinctrl/intel/pinctrl-cedarfork.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/mod_devicetable.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/pm.h>
1213

1314
#include <linux/pinctrl/pinctrl.h>
1415

@@ -319,8 +320,6 @@ static const struct intel_pinctrl_soc_data cdf_soc_data = {
319320
.ncommunities = ARRAY_SIZE(cdf_communities),
320321
};
321322

322-
static INTEL_PINCTRL_PM_OPS(cdf_pinctrl_pm_ops);
323-
324323
static const struct acpi_device_id cdf_pinctrl_acpi_match[] = {
325324
{ "INTC3001", (kernel_ulong_t)&cdf_soc_data },
326325
{ }
@@ -332,7 +331,7 @@ static struct platform_driver cdf_pinctrl_driver = {
332331
.driver = {
333332
.name = "cedarfork-pinctrl",
334333
.acpi_match_table = cdf_pinctrl_acpi_match,
335-
.pm = &cdf_pinctrl_pm_ops,
334+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
336335
},
337336
};
338337

drivers/pinctrl/intel/pinctrl-denverton.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/mod_devicetable.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/pm.h>
1213

1314
#include <linux/pinctrl/pinctrl.h>
1415

@@ -249,8 +250,6 @@ static const struct intel_pinctrl_soc_data dnv_soc_data = {
249250
.ncommunities = ARRAY_SIZE(dnv_communities),
250251
};
251252

252-
static INTEL_PINCTRL_PM_OPS(dnv_pinctrl_pm_ops);
253-
254253
static const struct acpi_device_id dnv_pinctrl_acpi_match[] = {
255254
{ "INTC3000", (kernel_ulong_t)&dnv_soc_data },
256255
{ }
@@ -268,7 +267,7 @@ static struct platform_driver dnv_pinctrl_driver = {
268267
.driver = {
269268
.name = "denverton-pinctrl",
270269
.acpi_match_table = dnv_pinctrl_acpi_match,
271-
.pm = &dnv_pinctrl_pm_ops,
270+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
272271
},
273272
.id_table = dnv_pinctrl_platform_ids,
274273
};

drivers/pinctrl/intel/pinctrl-elkhartlake.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/mod_devicetable.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/pm.h>
1213

1314
#include <linux/pinctrl/pinctrl.h>
1415

@@ -485,14 +486,12 @@ static const struct acpi_device_id ehl_pinctrl_acpi_match[] = {
485486
};
486487
MODULE_DEVICE_TABLE(acpi, ehl_pinctrl_acpi_match);
487488

488-
static INTEL_PINCTRL_PM_OPS(ehl_pinctrl_pm_ops);
489-
490489
static struct platform_driver ehl_pinctrl_driver = {
491490
.probe = intel_pinctrl_probe_by_uid,
492491
.driver = {
493492
.name = "elkhartlake-pinctrl",
494493
.acpi_match_table = ehl_pinctrl_acpi_match,
495-
.pm = &ehl_pinctrl_pm_ops,
494+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
496495
},
497496
};
498497
module_platform_driver(ehl_pinctrl_driver);

drivers/pinctrl/intel/pinctrl-emmitsburg.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/mod_devicetable.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/pm.h>
1213

1314
#include <linux/pinctrl/pinctrl.h>
1415

@@ -358,14 +359,12 @@ static const struct acpi_device_id ebg_pinctrl_acpi_match[] = {
358359
};
359360
MODULE_DEVICE_TABLE(acpi, ebg_pinctrl_acpi_match);
360361

361-
static INTEL_PINCTRL_PM_OPS(ebg_pinctrl_pm_ops);
362-
363362
static struct platform_driver ebg_pinctrl_driver = {
364363
.probe = intel_pinctrl_probe_by_hid,
365364
.driver = {
366365
.name = "emmitsburg-pinctrl",
367366
.acpi_match_table = ebg_pinctrl_acpi_match,
368-
.pm = &ebg_pinctrl_pm_ops,
367+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
369368
},
370369
};
371370
module_platform_driver(ebg_pinctrl_driver);

drivers/pinctrl/intel/pinctrl-geminilake.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include <linux/mod_devicetable.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/pm.h>
1213

1314
#include <linux/pinctrl/pinctrl.h>
1415

@@ -447,14 +448,12 @@ static const struct acpi_device_id glk_pinctrl_acpi_match[] = {
447448
};
448449
MODULE_DEVICE_TABLE(acpi, glk_pinctrl_acpi_match);
449450

450-
static INTEL_PINCTRL_PM_OPS(glk_pinctrl_pm_ops);
451-
452451
static struct platform_driver glk_pinctrl_driver = {
453452
.probe = intel_pinctrl_probe_by_uid,
454453
.driver = {
455454
.name = "geminilake-pinctrl",
456455
.acpi_match_table = glk_pinctrl_acpi_match,
457-
.pm = &glk_pinctrl_pm_ops,
456+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
458457
},
459458
};
460459

drivers/pinctrl/intel/pinctrl-icelake.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include <linux/acpi.h>
1111
#include <linux/module.h>
1212
#include <linux/platform_device.h>
13+
#include <linux/pm.h>
1314

1415
#include <linux/pinctrl/pinctrl.h>
1516

@@ -668,8 +669,6 @@ static const struct intel_pinctrl_soc_data icln_soc_data = {
668669
.ncommunities = ARRAY_SIZE(icln_communities),
669670
};
670671

671-
static INTEL_PINCTRL_PM_OPS(icl_pinctrl_pm_ops);
672-
673672
static const struct acpi_device_id icl_pinctrl_acpi_match[] = {
674673
{ "INT3455", (kernel_ulong_t)&icllp_soc_data },
675674
{ "INT34C3", (kernel_ulong_t)&icln_soc_data },
@@ -682,7 +681,7 @@ static struct platform_driver icl_pinctrl_driver = {
682681
.driver = {
683682
.name = "icelake-pinctrl",
684683
.acpi_match_table = icl_pinctrl_acpi_match,
685-
.pm = &icl_pinctrl_pm_ops,
684+
.pm = pm_sleep_ptr(&intel_pinctrl_pm_ops),
686685
},
687686
};
688687
module_platform_driver(icl_pinctrl_driver);

drivers/pinctrl/intel/pinctrl-intel.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ static int intel_gpio_to_pin(struct intel_pinctrl *pctrl, unsigned int offset,
899899
*
900900
* Return: a GPIO offset, or negative error code if translation can't be done.
901901
*/
902-
static __maybe_unused int intel_pin_to_gpio(struct intel_pinctrl *pctrl, int pin)
902+
static int intel_pin_to_gpio(struct intel_pinctrl *pctrl, int pin)
903903
{
904904
const struct intel_community *community;
905905
const struct intel_padgroup *padgrp;
@@ -1682,7 +1682,6 @@ const struct intel_pinctrl_soc_data *intel_pinctrl_get_soc_data(struct platform_
16821682
}
16831683
EXPORT_SYMBOL_NS_GPL(intel_pinctrl_get_soc_data, PINCTRL_INTEL);
16841684

1685-
#ifdef CONFIG_PM_SLEEP
16861685
static bool __intel_gpio_is_direct_irq(u32 value)
16871686
{
16881687
return (value & PADCFG0_GPIROUTIOXAPIC) && (value & PADCFG0_GPIOTXDIS) &&
@@ -1728,7 +1727,7 @@ static bool intel_pinctrl_should_save(struct intel_pinctrl *pctrl, unsigned int
17281727
return false;
17291728
}
17301729

1731-
int intel_pinctrl_suspend_noirq(struct device *dev)
1730+
static int intel_pinctrl_suspend_noirq(struct device *dev)
17321731
{
17331732
struct intel_pinctrl *pctrl = dev_get_drvdata(dev);
17341733
struct intel_community_context *communities;
@@ -1771,7 +1770,6 @@ int intel_pinctrl_suspend_noirq(struct device *dev)
17711770

17721771
return 0;
17731772
}
1774-
EXPORT_SYMBOL_GPL(intel_pinctrl_suspend_noirq);
17751773

17761774
static bool intel_gpio_update_reg(void __iomem *reg, u32 mask, u32 value)
17771775
{
@@ -1838,7 +1836,7 @@ static void intel_restore_padcfg(struct intel_pinctrl *pctrl, unsigned int pin,
18381836
dev_dbg(dev, "restored pin %u padcfg%u %#08x\n", pin, n, readl(padcfg));
18391837
}
18401838

1841-
int intel_pinctrl_resume_noirq(struct device *dev)
1839+
static int intel_pinctrl_resume_noirq(struct device *dev)
18421840
{
18431841
struct intel_pinctrl *pctrl = dev_get_drvdata(dev);
18441842
const struct intel_community_context *communities;
@@ -1882,8 +1880,10 @@ int intel_pinctrl_resume_noirq(struct device *dev)
18821880

18831881
return 0;
18841882
}
1885-
EXPORT_SYMBOL_GPL(intel_pinctrl_resume_noirq);
1886-
#endif
1883+
1884+
EXPORT_NS_GPL_DEV_PM_OPS(intel_pinctrl_pm_ops, PINCTRL_INTEL) = {
1885+
NOIRQ_SYSTEM_SLEEP_PM_OPS(intel_pinctrl_suspend_noirq, intel_pinctrl_resume_noirq)
1886+
};
18871887

18881888
MODULE_AUTHOR("Mathias Nyman <[email protected]>");
18891889
MODULE_AUTHOR("Mika Westerberg <[email protected]>");

0 commit comments

Comments
 (0)