spi-pxa2xx.c (07c337927e0618faf22ea98475c7162e6b7d2b35) spi-pxa2xx.c (0e1f0b1ca79fdcc03c3e6b4277a994ca894c9fcc)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2005 Stephen Street / StreetFire Sound Labs
4 * Copyright (C) 2013, 2021 Intel Corporation
5 */
6
7#include <linux/acpi.h>
8#include <linux/bitops.h>

--- 1307 unchanged lines hidden (view full) ---

1316
1317static void cleanup(struct spi_device *spi)
1318{
1319 struct chip_data *chip = spi_get_ctldata(spi);
1320
1321 kfree(chip);
1322}
1323
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2005 Stephen Street / StreetFire Sound Labs
4 * Copyright (C) 2013, 2021 Intel Corporation
5 */
6
7#include <linux/acpi.h>
8#include <linux/bitops.h>

--- 1307 unchanged lines hidden (view full) ---

1316
1317static void cleanup(struct spi_device *spi)
1318{
1319 struct chip_data *chip = spi_get_ctldata(spi);
1320
1321 kfree(chip);
1322}
1323
1324#ifdef CONFIG_ACPI
1325static const struct acpi_device_id pxa2xx_spi_acpi_match[] = {
1326 { "INT33C0", LPSS_LPT_SSP },
1327 { "INT33C1", LPSS_LPT_SSP },
1328 { "INT3430", LPSS_LPT_SSP },
1329 { "INT3431", LPSS_LPT_SSP },
1330 { "80860F0E", LPSS_BYT_SSP },
1331 { "8086228E", LPSS_BSW_SSP },
1332 { },
1333};
1334MODULE_DEVICE_TABLE(acpi, pxa2xx_spi_acpi_match);
1335#endif
1336
1337static const struct of_device_id pxa2xx_spi_of_match[] = {
1338 { .compatible = "marvell,mmp2-ssp", .data = (void *)MMP2_SSP },
1339 {},
1340};
1341MODULE_DEVICE_TABLE(of, pxa2xx_spi_of_match);
1342
1343static bool pxa2xx_spi_idma_filter(struct dma_chan *chan, void *param)
1344{
1345 return param == chan->device->dev;
1346}
1347
1348static struct pxa2xx_spi_controller *
1349pxa2xx_spi_init_pdata(struct platform_device *pdev)
1350{

--- 406 unchanged lines hidden (view full) ---

1757 return clk_prepare_enable(drv_data->ssp->clk);
1758}
1759
1760static const struct dev_pm_ops pxa2xx_spi_pm_ops = {
1761 SYSTEM_SLEEP_PM_OPS(pxa2xx_spi_suspend, pxa2xx_spi_resume)
1762 RUNTIME_PM_OPS(pxa2xx_spi_runtime_suspend, pxa2xx_spi_runtime_resume, NULL)
1763};
1764
1324static bool pxa2xx_spi_idma_filter(struct dma_chan *chan, void *param)
1325{
1326 return param == chan->device->dev;
1327}
1328
1329static struct pxa2xx_spi_controller *
1330pxa2xx_spi_init_pdata(struct platform_device *pdev)
1331{

--- 406 unchanged lines hidden (view full) ---

1738 return clk_prepare_enable(drv_data->ssp->clk);
1739}
1740
1741static const struct dev_pm_ops pxa2xx_spi_pm_ops = {
1742 SYSTEM_SLEEP_PM_OPS(pxa2xx_spi_suspend, pxa2xx_spi_resume)
1743 RUNTIME_PM_OPS(pxa2xx_spi_runtime_suspend, pxa2xx_spi_runtime_resume, NULL)
1744};
1745
1746#ifdef CONFIG_ACPI
1747static const struct acpi_device_id pxa2xx_spi_acpi_match[] = {
1748 { "80860F0E", LPSS_BYT_SSP },
1749 { "8086228E", LPSS_BSW_SSP },
1750 { "INT33C0", LPSS_LPT_SSP },
1751 { "INT33C1", LPSS_LPT_SSP },
1752 { "INT3430", LPSS_LPT_SSP },
1753 { "INT3431", LPSS_LPT_SSP },
1754 {}
1755};
1756MODULE_DEVICE_TABLE(acpi, pxa2xx_spi_acpi_match);
1757#endif
1758
1759static const struct of_device_id pxa2xx_spi_of_match[] = {
1760 { .compatible = "marvell,mmp2-ssp", .data = (void *)MMP2_SSP },
1761 {}
1762};
1763MODULE_DEVICE_TABLE(of, pxa2xx_spi_of_match);
1764
1765static struct platform_driver driver = {
1766 .driver = {
1767 .name = "pxa2xx-spi",
1768 .pm = pm_ptr(&pxa2xx_spi_pm_ops),
1769 .acpi_match_table = ACPI_PTR(pxa2xx_spi_acpi_match),
1770 .of_match_table = of_match_ptr(pxa2xx_spi_of_match),
1771 },
1772 .probe = pxa2xx_spi_probe,

--- 16 unchanged lines hidden ---
1765static struct platform_driver driver = {
1766 .driver = {
1767 .name = "pxa2xx-spi",
1768 .pm = pm_ptr(&pxa2xx_spi_pm_ops),
1769 .acpi_match_table = ACPI_PTR(pxa2xx_spi_acpi_match),
1770 .of_match_table = of_match_ptr(pxa2xx_spi_of_match),
1771 },
1772 .probe = pxa2xx_spi_probe,

--- 16 unchanged lines hidden ---