diff options
Diffstat (limited to 'drivers/media/cec/platform/sti/stih-cec.c')
| -rw-r--r-- | drivers/media/cec/platform/sti/stih-cec.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/media/cec/platform/sti/stih-cec.c b/drivers/media/cec/platform/sti/stih-cec.c index f0c73e64b586..49843d576c7c 100644 --- a/drivers/media/cec/platform/sti/stih-cec.c +++ b/drivers/media/cec/platform/sti/stih-cec.c @@ -6,6 +6,7 @@ */ #include <linux/clk.h> #include <linux/interrupt.h> +#include <linux/io.h> #include <linux/kernel.h> #include <linux/mfd/syscon.h> #include <linux/module.h> @@ -256,8 +257,8 @@ static void stih_rx_done(struct stih_cec *cec, u32 status) if (!msg.len) return; - if (msg.len > 16) - msg.len = 16; + if (msg.len > CEC_MAX_MSG_SIZE) + msg.len = CEC_MAX_MSG_SIZE; for (i = 0; i < msg.len; i++) msg.msg[i] = readl(cec->regs + CEC_RX_DATA_BASE + i); @@ -299,7 +300,6 @@ static const struct cec_adap_ops sti_cec_adap_ops = { static int stih_cec_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; - struct resource *res; struct stih_cec *cec; struct device *hdmi_dev; int ret; @@ -315,8 +315,7 @@ static int stih_cec_probe(struct platform_device *pdev) cec->dev = dev; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - cec->regs = devm_ioremap_resource(dev, res); + cec->regs = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(cec->regs)) return PTR_ERR(cec->regs); @@ -366,14 +365,12 @@ err_delete_adapter: return ret; } -static int stih_cec_remove(struct platform_device *pdev) +static void stih_cec_remove(struct platform_device *pdev) { struct stih_cec *cec = platform_get_drvdata(pdev); cec_notifier_cec_adap_unregister(cec->notifier, cec->adap); cec_unregister_adapter(cec->adap); - - return 0; } static const struct of_device_id stih_cec_match[] = { |
