diff --git a/drivers/media/platform/intel/ipu-acpi-common.c b/drivers/media/platform/intel/ipu-acpi-common.c index 4c5507b..62d77f7 100644 --- a/drivers/media/platform/intel/ipu-acpi-common.c +++ b/drivers/media/platform/intel/ipu-acpi-common.c @@ -12,6 +12,8 @@ * GNU General Public License for more details. * */ + +#include #include #include #include diff --git a/drivers/media/platform/intel/ipu-acpi-pdata.c b/drivers/media/platform/intel/ipu-acpi-pdata.c index 3162387..8488693 100644 --- a/drivers/media/platform/intel/ipu-acpi-pdata.c +++ b/drivers/media/platform/intel/ipu-acpi-pdata.c @@ -524,47 +524,6 @@ static void update_pdata(struct device *dev, serdes_info.deser_num++; } -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXC) || IS_ENABLED(CONFIG_VIDEO_LT6911UXE) -static void set_lt_gpio(struct control_logic_data *ctl_data, struct sensor_platform_data **pdata, - bool is_dummy) -{ - int i; - - (*pdata)->irq_pin = -1; - (*pdata)->reset_pin = -1; - (*pdata)->detect_pin = -1; - - if (ctl_data->completed && ctl_data->gpio_num > 0 && !is_dummy) { - for (i = 0; i < ctl_data->gpio_num; i++) { - /* check for unsupported GPIO function */ - if (ctl_data->gpio[i].func != GPIO_RESET && - ctl_data->gpio[i].func != GPIO_READY_STAT && - ctl_data->gpio[i].func != GPIO_HDMI_DETECT) - dev_err(ctl_data->dev, - "IPU ACPI: Invalid GPIO func: %d\n", - ctl_data->gpio[i].func); - - /* check for RESET selection in BIOS */ - if (ctl_data->gpio[i].valid && ctl_data->gpio[i].func == GPIO_RESET) - (*pdata)->reset_pin = ctl_data->gpio[i].pin; - - /* check for READY_STAT selection in BIOS */ - if (ctl_data->gpio[i].valid && ctl_data->gpio[i].func == GPIO_READY_STAT) { - (*pdata)->irq_pin = ctl_data->gpio[i].pin; - (*pdata)->irq_pin_flags = IRQF_TRIGGER_RISING | - IRQF_TRIGGER_FALLING | - IRQF_ONESHOT; - strscpy((*pdata)->irq_pin_name, "READY_STAT", sizeof("READY_STAT")); - } - - /* check for HDMI_DETECT selection in BIOS */ - if (ctl_data->gpio[i].valid && ctl_data->gpio[i].func == GPIO_HDMI_DETECT) - (*pdata)->detect_pin = ctl_data->gpio[i].pin; - } - } -} -#endif - static void set_common_gpio(struct control_logic_data *ctl_data, struct sensor_platform_data **pdata) { @@ -667,28 +626,12 @@ static int set_serdes_subdev(struct ipu_isys_subdev_info **serdes_sd, /* board info */ strscpy(serdes_sdinfo[i].board_info.type, sensor_name, I2C_NAME_SIZE); -#if IS_ENABLED(CONFIG_VIDEO_D4XX) - if (!strcmp(sensor_name, D457_NAME)) { - if (i == 0) - serdes_sdinfo[i].board_info.addr = serdes_info.sensor_map_addr; - else - serdes_sdinfo[i].board_info.addr = serdes_info.sensor_map_addr_2; - } else -#endif serdes_sdinfo[i].board_info.addr = serdes_info.sensor_map_addr + i; serdes_sdinfo[i].board_info.platform_data = module_pdata[i]; /* serdes_subdev_info */ serdes_sdinfo[i].rx_port = i; -#if IS_ENABLED(CONFIG_VIDEO_D4XX) - if (!strcmp(sensor_name, D457_NAME)) { - if (i == 0) - serdes_sdinfo[i].ser_alias = serdes_info.ser_map_addr; - else - serdes_sdinfo[i].ser_alias = serdes_info.ser_map_addr_2; - } else -#endif serdes_sdinfo[i].ser_alias = serdes_info.ser_map_addr + i; serdes_sdinfo[i].phy_i2c_addr = serdes_info.phy_i2c_addr; @@ -743,11 +686,6 @@ static int set_pdata(struct ipu_isys_subdev_info **sensor_sd, pdata->i2c_slave_address = addr; /* gpio */ -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXC) || IS_ENABLED(CONFIG_VIDEO_LT6911UXE) - if (!strcmp(sensor_name, LT6911UXC_NAME) || !strcmp(sensor_name, LT6911UXE_NAME)) - set_lt_gpio(ctl_data, &pdata, is_dummy); - else -#endif set_common_gpio(ctl_data, &pdata); (*sensor_sd)->i2c.board_info.platform_data = pdata; @@ -760,15 +698,7 @@ static int set_pdata(struct ipu_isys_subdev_info **sensor_sd, pr_debug("IPU ACPI: %s - Serdes connection", __func__); /* use ascii */ -#if IS_ENABLED(CONFIG_VIDEO_D4XX) - if (!strcmp(sensor_name, D457_NAME) && port >= 0) { - pdata->suffix = serdes_info.deser_num + SUFFIX_BASE; - pr_info("IPU ACPI: create %s %c, on deserializer port %d", - sensor_name, pdata->suffix, serdes_info.deser_num); - } else if (port >= 0) { -#else if (port >= 0) { -#endif pdata->suffix = port + SUFFIX_BASE; pr_info("IPU ACPI: create %s on mipi port %d", sensor_name, port); @@ -810,59 +740,11 @@ static void set_serdes_info(struct device *dev, const char *sensor_name, /* sensor mapped addr */ serdes_info.sensor_map_addr = cam_data->i2c[i++].addr; -#if IS_ENABLED(CONFIG_VIDEO_D4XX) - if (!strcmp(sensor_name, D457_NAME) && serdes_info.i2c_num == SENSOR_2X_I2C) { - /* 2nd group of mapped addr */ - serdes_info.ser_map_addr_2 = cam_data->i2c[i++].addr; - serdes_info.sensor_map_addr_2 = cam_data->i2c[i++].addr; - } -#endif - serdes_info.gpio_powerup_seq = 0; serdes_info.phy_i2c_addr = sensor_physical_addr; } -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXC) || IS_ENABLED(CONFIG_VIDEO_LT6911UXE) -static int populate_dummy(struct device *dev, - const char *sensor_name, - const char *hid_name, - struct sensor_bios_data *cam_data, - struct control_logic_data *ctl_data, - enum connection_type connect, - int link_freq) -{ - struct ipu_isys_subdev_info *dummy; - unsigned short addr_dummy = 0x11; - int ret; - - pr_debug("IPU ACPI: %s", __func__); - - dummy = kzalloc(sizeof(*dummy), GFP_KERNEL); - if (!dummy) - return -ENOMEM; - - ret = set_csi2(&dummy, cam_data->lanes, cam_data->pprval); - if (ret) { - kfree(dummy); - return ret; - } - - set_i2c(&dummy, dev, sensor_name, addr_dummy, NULL); - - ret = set_pdata(&dummy, dev, sensor_name, hid_name, ctl_data, cam_data->pprval, - cam_data->lanes, addr_dummy, 0, 0, true, connect, link_freq, 0); - if (ret) { - kfree(dummy); - return ret; - } - - update_pdata(dev, dummy, connect); - - return 0; -} -#endif - static int populate_sensor_pdata(struct device *dev, struct ipu_isys_subdev_info **sensor_sd, struct sensor_bios_data *cam_data, @@ -893,21 +775,7 @@ static int populate_sensor_pdata(struct device *dev, return -1; } -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXC) || IS_ENABLED(CONFIG_VIDEO_LT6911UXE) - /* LT use LT Control Logic type */ - if (!strcmp(sensor_name, LT6911UXC_NAME) || - !strcmp(sensor_name, LT6911UXE_NAME)) { - if (ctl_data->type != CL_LT) { - dev_err(dev, "IPU ACPI: Control Logic Type\n"); - dev_err(dev, "for %s: %d is Incorrect\n", - sensor_name, ctl_data->type); - return -EINVAL; - } - /* Others use DISCRETE Control Logic */ - } else if (ctl_data->type != CL_DISCRETE) { -#else if (ctl_data->type != CL_DISCRETE) { -#endif dev_err(dev, "IPU ACPI: Control Logic Type\n"); dev_err(dev, "for %s: %d is Incorrect\n", sensor_name, ctl_data->type); @@ -951,16 +819,6 @@ static int populate_sensor_pdata(struct device *dev, update_pdata(dev, *sensor_sd, connect); /* Lontium specific */ -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXC) || IS_ENABLED(CONFIG_VIDEO_LT6911UXE) - if (!strcmp(sensor_name, LT6911UXC_NAME) || !strcmp(sensor_name, LT6911UXE_NAME)) { - if (cam_data->pprval != cam_data->link) { - ret = populate_dummy(dev, sensor_name, hid_name, cam_data, ctl_data, connect, - link_freq); - if (ret) - return ret; - } - } -#endif return 0; } diff --git a/drivers/media/platform/intel/ipu-acpi.c b/drivers/media/platform/intel/ipu-acpi.c index 6f53897..8b94dc3 100644 --- a/drivers/media/platform/intel/ipu-acpi.c +++ b/drivers/media/platform/intel/ipu-acpi.c @@ -57,22 +57,6 @@ static const struct ipu_acpi_devices supported_devices[] = { * { "ACPI ID", sensor_name, get_sensor_pdata, NULL, 0, TYPE, serdes_name, * sensor_physical_addr, link_freq(mbps) }, // Custom HID */ -#if IS_ENABLED(CONFIG_VIDEO_AR0234) - { "INTC10C0", AR0234_NAME, get_sensor_pdata, NULL, 0, TYPE_DIRECT, NULL, - AR0234_I2C_ADDRESS, 1200 }, // AR0234 HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXC) - { "INTC10B1", LT6911UXC_NAME, get_sensor_pdata, NULL, 0, TYPE_DIRECT, NULL, - LT6911UXC_I2C_ADDRESS, 1200 }, // LT6911UXC HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXE) - { "INTC10C5", LT6911UXE_NAME, get_sensor_pdata, NULL, 0, TYPE_DIRECT, NULL, - LT6911UXE_I2C_ADDRESS, 1200 }, // LT6911UXE HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_D4XX) - { "INTC10CD", D457_NAME, get_sensor_pdata, NULL, 0, TYPE_SERDES, D457_NAME, - D4XX_I2C_ADDRESS_0, 1200 }, // D457 HID -#endif #if IS_ENABLED(CONFIG_VIDEO_MAX9X) #if IS_ENABLED(CONFIG_VIDEO_ISX031) @@ -101,28 +85,9 @@ static const struct acpi_device_id ipu_acpi_match[] = { /* * { "AR0234A", 0 }, // Custom HID */ -#if IS_ENABLED(CONFIG_VIDEO_IMX390) - { "INTC10C1", 0 }, // IMX390 HID - { "INTC10CM", 0 }, // D3CMC68N-106-085 IMX390 HID -#endif #if IS_ENABLED(CONFIG_VIDEO_ISX031) { "INTC1031", 0 }, // ISX031 HID { "INTC031M", 0 }, // D3CMC68N-115-084 ISX031 HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_AR0234) - { "INTC10C0", 0 }, // AR0234 HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXC) - { "INTC10B1", 0 }, // LT6911UXC HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_LT6911UXE) - { "INTC10C5", 0 }, // LT6911UXE HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_OV2311) - { "INTC102R", 0 }, // OV2311 HID -#endif -#if IS_ENABLED(CONFIG_VIDEO_D4XX) - { "INTC10CD", 0 }, // D457 HID #endif {}, };