@@ -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 cio2_bridge_unregister_sensors(struct cio2_bridge *bridge)
static int cio2_bridge_connect_sensor(const struct cio2_sensor_config *cfg,
struct cio2_bridge *bridge,
- struct pci_dev *cio2)
+ struct device *dev)
{
struct fwnode_handle *fwnode, *primary;
struct cio2_sensor *sensor;
@@ -302,7 +301,7 @@ static int cio2_bridge_connect_sensor(const struct cio2_sensor_config *cfg,
if (bridge->n_sensors >= CIO2_NUM_PORTS) {
acpi_dev_put(adev);
- dev_err(&cio2->dev, "Exceeded available CIO2 ports\n");
+ dev_err(dev, "Exceeded available CIO2 ports\n");
return -EINVAL;
}
@@ -357,7 +356,7 @@ static int cio2_bridge_connect_sensor(const struct cio2_sensor_config *cfg,
cio2_bridge_instantiate_vcm_i2c_client(sensor);
- dev_info(&cio2->dev, "Found supported sensor %s\n",
+ dev_info(dev, "Found supported sensor %s\n",
acpi_dev_name(adev));
bridge->n_sensors++;
@@ -375,7 +374,7 @@ static int cio2_bridge_connect_sensor(const struct cio2_sensor_config *cfg,
}
static int cio2_bridge_connect_sensors(struct cio2_bridge *bridge,
- struct pci_dev *cio2)
+ struct device *dev)
{
unsigned int i;
int ret;
@@ -384,7 +383,7 @@ static int cio2_bridge_connect_sensors(struct cio2_bridge *bridge,
const struct cio2_sensor_config *cfg =
&cio2_supported_sensors[i];
- ret = cio2_bridge_connect_sensor(cfg, bridge, cio2);
+ ret = cio2_bridge_connect_sensor(cfg, bridge, dev);
if (ret)
goto err_unregister_sensors;
}
@@ -430,9 +429,8 @@ static int cio2_bridge_sensors_are_ready(void)
return ready;
}
-int cio2_bridge_init(struct pci_dev *cio2)
+int cio2_bridge_init(struct device *dev)
{
- struct device *dev = &cio2->dev;
struct fwnode_handle *fwnode;
struct cio2_bridge *bridge;
unsigned int i;
@@ -465,7 +463,7 @@ int cio2_bridge_init(struct pci_dev *cio2)
for (i = 0; i < CIO2_MAX_LANES; i++)
bridge->data_lanes[i] = i + 1;
- ret = cio2_bridge_connect_sensors(bridge, cio2);
+ ret = cio2_bridge_connect_sensors(bridge, dev);
if (ret || bridge->n_sensors == 0)
goto err_unregister_cio2;
@@ -1724,7 +1724,7 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
return -EINVAL;
}
- r = cio2_bridge_init(pci_dev);
+ r = cio2_bridge_init(dev);
if (r)
return r;
}
@@ -460,9 +460,9 @@ static inline struct cio2_queue *vb2q_to_cio2_queue(struct vb2_queue *vq)
}
#if IS_ENABLED(CONFIG_CIO2_BRIDGE)
-int cio2_bridge_init(struct pci_dev *cio2);
+int cio2_bridge_init(struct device *dev);
#else
-static inline int cio2_bridge_init(struct pci_dev *cio2) { return 0; }
+static inline int cio2_bridge_init(struct device *dev) { return 0; }
#endif
#endif
Make cio2_bridge_init() take a regular struct device, rather then a pci_dev as argument. This is a preparation patch for making the cio2-bridge code more generic so that it can be shared with the atomisp driver. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/media/pci/intel/ipu3/cio2-bridge.c | 16 +++++++--------- drivers/media/pci/intel/ipu3/ipu3-cio2-main.c | 2 +- drivers/media/pci/intel/ipu3/ipu3-cio2.h | 4 ++-- 3 files changed, 10 insertions(+), 12 deletions(-)