Commit 928d8e2f authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab

media: ipu-bridge: Move initialization of node_names.vcm to ipu_bridge_init_swnode_names()

Move initialization of node_names.vcm to ipu_bridge_init_swnode_names()
where it belongs.

And make the initialization of nodes[SWNODE_VCM] unconditional,
ipu_bridge_init_swnode_group() takes care of not registering it
when there is no VCM.
Reviewed-by: default avatarAndy Shevchenko <andy@kernel.org>
Reviewed-by: default avatarDaniel Scally <dan.scally@ideasonboard.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 41eebd64
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/pci.h>
#include <linux/property.h> #include <linux/property.h>
#include <media/v4l2-fwnode.h> #include <media/v4l2-fwnode.h>
...@@ -288,7 +287,7 @@ static void ipu_bridge_unregister_sensors(struct ipu_bridge *bridge) ...@@ -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, static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
struct ipu_bridge *bridge, struct ipu_bridge *bridge,
struct pci_dev *ipu) struct device *dev)
{ {
struct fwnode_handle *fwnode, *primary; struct fwnode_handle *fwnode, *primary;
struct ipu_sensor *sensor; struct ipu_sensor *sensor;
...@@ -302,7 +301,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg, ...@@ -302,7 +301,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
if (bridge->n_sensors >= IPU_MAX_PORTS) { if (bridge->n_sensors >= IPU_MAX_PORTS) {
acpi_dev_put(adev); acpi_dev_put(adev);
dev_err(&ipu->dev, "Exceeded available IPU ports\n"); dev_err(dev, "Exceeded available IPU ports\n");
return -EINVAL; return -EINVAL;
} }
...@@ -362,7 +361,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg, ...@@ -362,7 +361,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg,
ipu_bridge_instantiate_vcm_i2c_client(sensor); 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)); acpi_dev_name(adev));
bridge->n_sensors++; bridge->n_sensors++;
...@@ -380,7 +379,7 @@ static int ipu_bridge_connect_sensor(const struct ipu_sensor_config *cfg, ...@@ -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, static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
struct pci_dev *ipu) struct device *dev)
{ {
unsigned int i; unsigned int i;
int ret; int ret;
...@@ -389,7 +388,7 @@ static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge, ...@@ -389,7 +388,7 @@ static int ipu_bridge_connect_sensors(struct ipu_bridge *bridge,
const struct ipu_sensor_config *cfg = const struct ipu_sensor_config *cfg =
&ipu_supported_sensors[i]; &ipu_supported_sensors[i];
ret = ipu_bridge_connect_sensor(cfg, bridge, ipu); ret = ipu_bridge_connect_sensor(cfg, bridge, dev);
if (ret) if (ret)
goto err_unregister_sensors; goto err_unregister_sensors;
} }
...@@ -435,9 +434,8 @@ static int ipu_bridge_sensors_are_ready(void) ...@@ -435,9 +434,8 @@ static int ipu_bridge_sensors_are_ready(void)
return ready; 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 fwnode_handle *fwnode;
struct ipu_bridge *bridge; struct ipu_bridge *bridge;
unsigned int i; unsigned int i;
...@@ -470,7 +468,7 @@ int ipu_bridge_init(struct pci_dev *ipu) ...@@ -470,7 +468,7 @@ int ipu_bridge_init(struct pci_dev *ipu)
for (i = 0; i < IPU_MAX_LANES; i++) for (i = 0; i < IPU_MAX_LANES; i++)
bridge->data_lanes[i] = i + 1; 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) if (ret || bridge->n_sensors == 0)
goto err_unregister_ipu; goto err_unregister_ipu;
......
...@@ -144,9 +144,9 @@ struct ipu_bridge { ...@@ -144,9 +144,9 @@ struct ipu_bridge {
}; };
#if IS_ENABLED(CONFIG_IPU_BRIDGE) #if IS_ENABLED(CONFIG_IPU_BRIDGE)
int ipu_bridge_init(struct pci_dev *ipu); int ipu_bridge_init(struct device *dev);
#else #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
#endif #endif
...@@ -1725,7 +1725,7 @@ static int cio2_pci_probe(struct pci_dev *pci_dev, ...@@ -1725,7 +1725,7 @@ static int cio2_pci_probe(struct pci_dev *pci_dev,
return -EINVAL; return -EINVAL;
} }
r = ipu_bridge_init(pci_dev); r = ipu_bridge_init(dev);
if (r) if (r)
return r; return r;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment