i2c-meson.c (c9f289701540baeef9ac7c9977d67a7259f404db) i2c-meson.c (e0442d76213981ab48e8ea0874bb6c47e3af5a36)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * I2C bus driver for Amlogic Meson SoCs
4 *
5 * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com>
6 */
7
8#include <linux/clk.h>

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

392 .master_xfer_atomic = meson_i2c_xfer_atomic,
393 .functionality = meson_i2c_func,
394};
395
396static int meson_i2c_probe(struct platform_device *pdev)
397{
398 struct device_node *np = pdev->dev.of_node;
399 struct meson_i2c *i2c;
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * I2C bus driver for Amlogic Meson SoCs
4 *
5 * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com>
6 */
7
8#include <linux/clk.h>

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

392 .master_xfer_atomic = meson_i2c_xfer_atomic,
393 .functionality = meson_i2c_func,
394};
395
396static int meson_i2c_probe(struct platform_device *pdev)
397{
398 struct device_node *np = pdev->dev.of_node;
399 struct meson_i2c *i2c;
400 struct resource *mem;
401 struct i2c_timings timings;
402 int irq, ret = 0;
403
404 i2c = devm_kzalloc(&pdev->dev, sizeof(struct meson_i2c), GFP_KERNEL);
405 if (!i2c)
406 return -ENOMEM;
407
408 i2c_parse_fw_timings(&pdev->dev, &timings, true);

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

417 of_device_get_match_data(&pdev->dev);
418
419 i2c->clk = devm_clk_get(&pdev->dev, NULL);
420 if (IS_ERR(i2c->clk)) {
421 dev_err(&pdev->dev, "can't get device clock\n");
422 return PTR_ERR(i2c->clk);
423 }
424
400 struct i2c_timings timings;
401 int irq, ret = 0;
402
403 i2c = devm_kzalloc(&pdev->dev, sizeof(struct meson_i2c), GFP_KERNEL);
404 if (!i2c)
405 return -ENOMEM;
406
407 i2c_parse_fw_timings(&pdev->dev, &timings, true);

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

416 of_device_get_match_data(&pdev->dev);
417
418 i2c->clk = devm_clk_get(&pdev->dev, NULL);
419 if (IS_ERR(i2c->clk)) {
420 dev_err(&pdev->dev, "can't get device clock\n");
421 return PTR_ERR(i2c->clk);
422 }
423
425 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
426 i2c->regs = devm_ioremap_resource(&pdev->dev, mem);
424 i2c->regs = devm_platform_ioremap_resource(pdev, 0);
427 if (IS_ERR(i2c->regs))
428 return PTR_ERR(i2c->regs);
429
430 irq = platform_get_irq(pdev, 0);
431 if (irq < 0) {
432 dev_err(&pdev->dev, "can't find IRQ\n");
433 return irq;
434 }

--- 83 unchanged lines hidden ---
425 if (IS_ERR(i2c->regs))
426 return PTR_ERR(i2c->regs);
427
428 irq = platform_get_irq(pdev, 0);
429 if (irq < 0) {
430 dev_err(&pdev->dev, "can't find IRQ\n");
431 return irq;
432 }

--- 83 unchanged lines hidden ---