Loading Documentation/devicetree/bindings/input/touchscreen/synaptics_dsxv26_i2c.txt +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ Optional property: - synaptics,bus-lpm-cur-uA : I2C bus idle mode current setting. - synaptics,swap-axes : specify whether to swap axes. - synaptics,resume-in-workqueue : specify whether to defer the resume to workqueue. - synaptics,fw-name : name of firmware .img file in /lib/firmware - clock-names : Clock names used for secure touch. They are: "iface_clk", "core_clk" - clocks : Defined if 'clock-names' DT property is defined. These clocks are associated with the underlying I2C bus. Loading drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c +11 −6 Original line number Diff line number Diff line Loading @@ -44,10 +44,9 @@ #include "synaptics_dsx_core.h" #define FW_IMAGE_NAME "synaptics/startup_fw_update.img" /* #define DO_STARTUP_FW_UPDATE */ /* #ifdef DO_STARTUP_FW_UPDATE #ifdef CONFIG_FB #define WAIT_FOR_FB_READY Loading @@ -55,7 +54,7 @@ #define FB_READY_TIMEOUT_S 30 #endif #endif */ #define FORCE_UPDATE false #define DO_LOCKDOWN false Loading Loading @@ -3419,6 +3418,7 @@ static int fwu_start_reflash(void) enum flash_area flash_area; const struct firmware *fw_entry = NULL; struct synaptics_rmi4_data *rmi4_data = fwu->rmi4_data; const unsigned char *image_name; if (rmi4_data->sensor_sleep) { dev_err(rmi4_data->pdev->dev.parent, Loading @@ -3434,9 +3434,14 @@ static int fwu_start_reflash(void) pr_notice("%s: Start of reflash process\n", __func__); if (fwu->image == NULL) { if (rmi4_data->hw_if->board_data->fw_name) image_name = rmi4_data->hw_if->board_data->fw_name; else image_name = FW_IMAGE_NAME; retval = secure_memcpy(fwu->image_name, MAX_IMAGE_NAME_LEN, FW_IMAGE_NAME, sizeof(FW_IMAGE_NAME), sizeof(FW_IMAGE_NAME)); image_name, strlen(image_name), strlen(image_name)); if (retval < 0) { dev_err(rmi4_data->pdev->dev.parent, "%s: Failed to copy image file name\n", Loading drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_i2c.c +6 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,12 @@ static int parse_dt(struct device *dev, struct synaptics_dsx_board_data *bdata) bdata->ub_i2c_addr = -1; } retval = of_property_read_string(np, "synaptics,fw-name", &name); if (retval < 0) bdata->fw_name = NULL; else bdata->fw_name = name; prop = of_find_property(np, "synaptics,cap-button-codes", NULL); if (prop && prop->length) { bdata->cap_button_map->map = devm_kzalloc(dev, Loading include/linux/input/synaptics_dsx_v2_6.h +1 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ struct synaptics_dsx_board_data { const char *bus_reg_name; struct synaptics_dsx_button_map *cap_button_map; struct synaptics_dsx_button_map *vir_button_map; const char *fw_name; }; #endif Loading
Documentation/devicetree/bindings/input/touchscreen/synaptics_dsxv26_i2c.txt +1 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ Optional property: - synaptics,bus-lpm-cur-uA : I2C bus idle mode current setting. - synaptics,swap-axes : specify whether to swap axes. - synaptics,resume-in-workqueue : specify whether to defer the resume to workqueue. - synaptics,fw-name : name of firmware .img file in /lib/firmware - clock-names : Clock names used for secure touch. They are: "iface_clk", "core_clk" - clocks : Defined if 'clock-names' DT property is defined. These clocks are associated with the underlying I2C bus. Loading
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c +11 −6 Original line number Diff line number Diff line Loading @@ -44,10 +44,9 @@ #include "synaptics_dsx_core.h" #define FW_IMAGE_NAME "synaptics/startup_fw_update.img" /* #define DO_STARTUP_FW_UPDATE */ /* #ifdef DO_STARTUP_FW_UPDATE #ifdef CONFIG_FB #define WAIT_FOR_FB_READY Loading @@ -55,7 +54,7 @@ #define FB_READY_TIMEOUT_S 30 #endif #endif */ #define FORCE_UPDATE false #define DO_LOCKDOWN false Loading Loading @@ -3419,6 +3418,7 @@ static int fwu_start_reflash(void) enum flash_area flash_area; const struct firmware *fw_entry = NULL; struct synaptics_rmi4_data *rmi4_data = fwu->rmi4_data; const unsigned char *image_name; if (rmi4_data->sensor_sleep) { dev_err(rmi4_data->pdev->dev.parent, Loading @@ -3434,9 +3434,14 @@ static int fwu_start_reflash(void) pr_notice("%s: Start of reflash process\n", __func__); if (fwu->image == NULL) { if (rmi4_data->hw_if->board_data->fw_name) image_name = rmi4_data->hw_if->board_data->fw_name; else image_name = FW_IMAGE_NAME; retval = secure_memcpy(fwu->image_name, MAX_IMAGE_NAME_LEN, FW_IMAGE_NAME, sizeof(FW_IMAGE_NAME), sizeof(FW_IMAGE_NAME)); image_name, strlen(image_name), strlen(image_name)); if (retval < 0) { dev_err(rmi4_data->pdev->dev.parent, "%s: Failed to copy image file name\n", Loading
drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_i2c.c +6 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,12 @@ static int parse_dt(struct device *dev, struct synaptics_dsx_board_data *bdata) bdata->ub_i2c_addr = -1; } retval = of_property_read_string(np, "synaptics,fw-name", &name); if (retval < 0) bdata->fw_name = NULL; else bdata->fw_name = name; prop = of_find_property(np, "synaptics,cap-button-codes", NULL); if (prop && prop->length) { bdata->cap_button_map->map = devm_kzalloc(dev, Loading
include/linux/input/synaptics_dsx_v2_6.h +1 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,7 @@ struct synaptics_dsx_board_data { const char *bus_reg_name; struct synaptics_dsx_button_map *cap_button_map; struct synaptics_dsx_button_map *vir_button_map; const char *fw_name; }; #endif