[PATCH v3 05/18] media: ipu-bridge: Make ipu_bridge_init() take a regular struct device as argument

Hans de Goede
2023-07-05T21:32:03Z

Make ipu_bridge_init() take a regular struct device, rather then
a pci_dev as argument.

This is a preparation patch for making the ipu-bridge code more generic
so that it can be shared with the atomisp driver.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/media/pci/intel/ipu-bridge.c | 16 +++++++---------
drivers/media/pci/intel/ipu-bridge.h | 4 ++--
drivers/media/pci/intel/ipu3/ipu3-cio2.c | 2 +-
3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c
index 97b544736af2..9027a8d2d176 100644
--- a/drivers/media/pci/intel/ipu-bridge.c
+++ b/drivers/media/pci/intel/ipu-bridge.c
@@ -4,7 +4,6 @@
#include <linux/acpi.h>
#include <linux/device.h>
#include <linux/i2c.h>
-#include <linux/pci.h>
#include <linux/property.h>
#include <media/v4l2-fwnode.h>

@@ -288,7 +287,7 @@ static void ipu_bridge_unregister_sensors(struct ipu_bridge *bridge)

static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
struct ipu_bridge *bridge,
- struct pci_dev *ipu)
+ struct device *dev)
{
struct fwnode_handle *fwnode, *primary;
struct ipu_sensor *sensor;
@@ -302,7 +301,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,

if (bridge->n_sensors >= IPU_MAX_PORTS) {
acpi_dev_put(adev);
- dev_err(&ipu->dev, "Exceeded available IPU ports\n");
+ dev_err(dev, "Exceeded available IPU ports\n");
return -EINVAL;
}

@@ -362,7 +361,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,

ipu_bridge_instantiate_vcm_i2c_client(sensor);

- dev_info(&ipu->dev, "Found supported sensor %s\n",
+ dev_info(dev, "Found supported sensor %s\n",
acpi_dev_name(adev));

bridge->n_sensors++;
@@ -380,7 +379,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
}

static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
- struct pci_dev *ipu)
+ struct device *dev)
{
unsigned int i;
int ret;
@@ -389,7 +388,7 @@ static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
const struct ipu_sensor_config *cfg =
&ipu_supported_sensors[i];

- ret = ipu_bridge_connect_sensor(cfg, bridge, ipu);
+ ret = ipu_bridge_connect_sensor(cfg, bridge, dev);
if (ret)
goto err_unregister_sensors;
}
@@ -435,9 +434,8 @@ static int ipu_bridge_sensors_are_ready(void)
return ready;
}

-int ipu_bridge_init(struct pci_dev *ipu)
+int ipu_bridge_init(struct device *dev)
{
- struct device *dev = &ipu->dev;
struct fwnode_handle *fwnode;
struct ipu_bridge *bridge;
unsigned int i;
@@ -470,7 +468,7 @@ int ipu_bridge_init(struct pci_dev *ipu)
for (i = 0; i < IPU_MAX_LANES; i++)
bridge->data_lanes[i] = i + 1;

- ret = ipu_bridge_connect_sensors(bridge, ipu);
+ ret = ipu_bridge_connect_sensors(bridge, dev);
if (ret || bridge->n_sensors == 0)
goto err_unregister_ipu;

diff --git a/drivers/media/pci/intel/ipu-bridge.h b/drivers/media/pci/intel/ipu-bridge.h
index 6cce712a0f34..8c1437f252d2 100644
--- a/drivers/media/pci/intel/ipu-bridge.h
+++ b/drivers/media/pci/intel/ipu-bridge.h
@@ -144,9 +144,9 @@ struct ipu_bridge {
};

#if IS_ENABLED(CONFIG_IPU_BRIDGE)
-int ipu_bridge_init(struct pci_dev *ipu);
+int ipu_bridge_init(struct device *dev);
#else
-static inline int ipu_bridge_init(struct pci_dev *ipu) { return 0; }
+static inline int ipu_bridge_init(struct device *dev) { return 0; }
#endif

#endif
diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c b/drivers/media/pci/intel/ipu3/ipu3-cio2.c
index dc09fbdb062b..4068fa0a5ecf 100644
--- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c
+++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c
@@ -1725,7 +1725,7 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
return -EINVAL;
}

- r = ipu_bridge_init(pci_dev);
+ r = ipu_bridge_init(dev);
if (r)
return r;
}
--
2.41.0