forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 95099d4622f8cb224d94e314c7a8e0df60b13f87
kernel/drivers/i2c/busses/i2c-imx-lpi2c.c
....@@ -75,12 +75,6 @@
7575 #define I2C_CLK_RATIO 2
7676 #define CHUNK_DATA 256
7777
78
-#define LPI2C_DEFAULT_RATE 100000
79
-#define STARDARD_MAX_BITRATE 400000
80
-#define FAST_MAX_BITRATE 1000000
81
-#define FAST_PLUS_MAX_BITRATE 3400000
82
-#define HIGHSPEED_MAX_BITRATE 5000000
83
-
8478 #define I2C_PM_TIMEOUT 10 /* ms */
8579
8680 enum lpi2c_imx_mode {
....@@ -152,13 +146,13 @@
152146 unsigned int bitrate = lpi2c_imx->bitrate;
153147 enum lpi2c_imx_mode mode;
154148
155
- if (bitrate < STARDARD_MAX_BITRATE)
149
+ if (bitrate < I2C_MAX_FAST_MODE_FREQ)
156150 mode = STANDARD;
157
- else if (bitrate < FAST_MAX_BITRATE)
151
+ else if (bitrate < I2C_MAX_FAST_MODE_PLUS_FREQ)
158152 mode = FAST;
159
- else if (bitrate < FAST_PLUS_MAX_BITRATE)
153
+ else if (bitrate < I2C_MAX_HIGH_SPEED_MODE_FREQ)
160154 mode = FAST_PLUS;
161
- else if (bitrate < HIGHSPEED_MAX_BITRATE)
155
+ else if (bitrate < I2C_MAX_ULTRA_FAST_MODE_FREQ)
162156 mode = HS;
163157 else
164158 mode = ULTRA_FAST;
....@@ -265,7 +259,7 @@
265259 unsigned int temp;
266260 int ret;
267261
268
- ret = pm_runtime_get_sync(lpi2c_imx->adapter.dev.parent);
262
+ ret = pm_runtime_resume_and_get(lpi2c_imx->adapter.dev.parent);
269263 if (ret < 0)
270264 return ret;
271265
....@@ -545,7 +539,6 @@
545539 static int lpi2c_imx_probe(struct platform_device *pdev)
546540 {
547541 struct lpi2c_imx_struct *lpi2c_imx;
548
- struct resource *res;
549542 unsigned int temp;
550543 int irq, ret;
551544
....@@ -553,16 +546,13 @@
553546 if (!lpi2c_imx)
554547 return -ENOMEM;
555548
556
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
557
- lpi2c_imx->base = devm_ioremap_resource(&pdev->dev, res);
549
+ lpi2c_imx->base = devm_platform_ioremap_resource(pdev, 0);
558550 if (IS_ERR(lpi2c_imx->base))
559551 return PTR_ERR(lpi2c_imx->base);
560552
561553 irq = platform_get_irq(pdev, 0);
562
- if (irq < 0) {
563
- dev_err(&pdev->dev, "can't get irq number\n");
554
+ if (irq < 0)
564555 return irq;
565
- }
566556
567557 lpi2c_imx->adapter.owner = THIS_MODULE;
568558 lpi2c_imx->adapter.algo = &lpi2c_imx_algo;
....@@ -580,7 +570,7 @@
580570 ret = of_property_read_u32(pdev->dev.of_node,
581571 "clock-frequency", &lpi2c_imx->bitrate);
582572 if (ret)
583
- lpi2c_imx->bitrate = LPI2C_DEFAULT_RATE;
573
+ lpi2c_imx->bitrate = I2C_MAX_STANDARD_MODE_FREQ;
584574
585575 ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0,
586576 pdev->name, lpi2c_imx);
....@@ -639,8 +629,7 @@
639629 return 0;
640630 }
641631
642
-#ifdef CONFIG_PM_SLEEP
643
-static int lpi2c_runtime_suspend(struct device *dev)
632
+static int __maybe_unused lpi2c_runtime_suspend(struct device *dev)
644633 {
645634 struct lpi2c_imx_struct *lpi2c_imx = dev_get_drvdata(dev);
646635
....@@ -650,7 +639,7 @@
650639 return 0;
651640 }
652641
653
-static int lpi2c_runtime_resume(struct device *dev)
642
+static int __maybe_unused lpi2c_runtime_resume(struct device *dev)
654643 {
655644 struct lpi2c_imx_struct *lpi2c_imx = dev_get_drvdata(dev);
656645 int ret;
....@@ -671,10 +660,6 @@
671660 SET_RUNTIME_PM_OPS(lpi2c_runtime_suspend,
672661 lpi2c_runtime_resume, NULL)
673662 };
674
-#define IMX_LPI2C_PM (&lpi2c_pm_ops)
675
-#else
676
-#define IMX_LPI2C_PM NULL
677
-#endif
678663
679664 static struct platform_driver lpi2c_imx_driver = {
680665 .probe = lpi2c_imx_probe,
....@@ -682,7 +667,7 @@
682667 .driver = {
683668 .name = DRIVER_NAME,
684669 .of_match_table = lpi2c_imx_of_match,
685
- .pm = IMX_LPI2C_PM,
670
+ .pm = &lpi2c_pm_ops,
686671 },
687672 };
688673