---
ChangeLog since Belgin's v1:
- Fixed CMD_FW_CMD ENUM
- Added back commands loading the firmwares
  but instead of letting them load the firmwares
  they would only print that they were called.
- I modified the commit message to add some
  informations about that.
---

belgin (1):
  smdk4412: remove embedded synaptics touchscreen firmware

 drivers/input/touchscreen/Makefile            |     2 +-
 drivers/input/touchscreen/synaptics_fw.h      | 11769 ----------------
 .../input/touchscreen/synaptics_fw_updater.c  |   515 -
 drivers/input/touchscreen/synaptics_reg.h     |     2 -
 drivers/input/touchscreen/synaptics_s7301.c   |     4 +-
 drivers/input/touchscreen/synaptics_sysfs.c   |   141 +-
 drivers/input/touchscreen/synaptics_sysfs.h   |     2 -
 7 files changed, 35 insertions(+), 12400 deletions(-)
 delete mode 100644 drivers/input/touchscreen/synaptics_fw.h
 delete mode 100644 drivers/input/touchscreen/synaptics_fw_updater.c

Range-diff against v1:
1:  9abd34765977 ! 1:  43720e41c7f3 smdk4412: remove embedded synaptics 
touchscreen firmware
    @@ Metadata
      ## Commit message ##
         smdk4412: remove embedded synaptics touchscreen firmware
     
    +    The CMD_LIST commands implementations that enabled
    +    userspace to load firmwares were replaced by prints
    +    in order to be able to detect if userspace is using
    +    them or not. If they are used, then nonfree firmwares
    +    might also be shipped in userspace code.
    +
         Signed-off-by: belgin <[email protected]>
    +    GNUtoo: re-added CMD_LIST commands and added related explanation.
    +    Signed-off-by: Denis 'GNUtoo' Carikli <[email protected]>
     
      ## drivers/input/touchscreen/Makefile ##
     @@ drivers/input/touchscreen/Makefile: obj-$(CONFIG_TOUCHSCREEN_ZINITIX)   
+= zinitix_touch.o
    @@ drivers/input/touchscreen/synaptics_s7301.c: static int 
synaptics_ts_set_func(st
                data->firm_version);
     
      ## drivers/input/touchscreen/synaptics_sysfs.c ##
    -@@ drivers/input/touchscreen/synaptics_sysfs.c: struct device 
*synaptics_with_gpio_led_device;
    - #endif
    +@@
    + #include <linux/synaptics_s7301.h>
    + #include "synaptics_sysfs.h"
      
    - const char *sec_sysfs_cmd_list[] = {
    --  "fw_update",
    --  "get_fw_ver_bin",
    --  "get_fw_ver_ic",
    -   "get_config_ver",
    -   "get_threshold",
    -   "module_off_master",
    ++#define PR_FW_LOADING_ATTEMPT_WARNING(cmd_str, cmd_val)           \
    ++  printk(KERN_WARNING                                             \
    ++  "[TSP] Warning: %s (%d) called, skipping.\n"                    \
    ++  "[TSP] A program might be trying to load a firmware\n"          \
    ++  "[TSP] In doubt, report it on the Replicant mailing list\n",    \
    ++         cmd_str, cmd_val); \
    ++  while(0)
    ++
    + #if defined(CONFIG_TOUCHSCREEN_SYNAPTICS_S7301_KEYLED)
    + struct device *synaptics_with_gpio_led_device;
    + #endif
     @@ drivers/input/touchscreen/synaptics_sysfs.c: const char 
*sec_sysfs_cmd_list[] = {
        "get_tx_to_gnd"
      };
    @@ drivers/input/touchscreen/synaptics_sysfs.c: static u16 
synaptics_get_threshold(
     -
     -static void synaptics_fw_panel(struct synaptics_drv_data *data,
     -  u8 *buf)
    --{
    ++static const char *sec_fw_cmd_get_name(u32 type)
    + {
     -
     -  synaptics_ts_read_block(data,
     -          data->f34.control_base_addr,
    @@ drivers/input/touchscreen/synaptics_sysfs.c: static u16 
synaptics_get_threshold(
     -  u32 type)
     -{
     -  int ret = 0;
    --  switch (type) {
    --  case CMD_FW_CMD_BUILT_IN:
    +   switch (type) {
    +   case CMD_FW_CMD_BUILT_IN:
     -          ret = synaptics_fw_updater(data, NULL);
     -          break;
     -
    --  case CMD_FW_CMD_UMS:
    ++          return "CMD_FW_CMD_BUILT_IN";
    +   case CMD_FW_CMD_UMS:
     -          ret = synaptics_ts_load_fw(data);
     -          break;
     -
     -  default:
     -          break;
    --  }
    --
    ++          return "CMD_FW_CMD_UMS";
    +   }
    + 
     -  return ret;
    --}
    --
    ++  return "CMD_FW_UNKNOWN";
    ++}
    ++
    ++static int sec_fw_cmd(struct synaptics_drv_data *data, u32 type)
    ++{
    ++  PR_FW_LOADING_ATTEMPT_WARNING(sec_fw_cmd_get_name(type), type);
    ++
    ++  return 0;
    + }
    + 
      static u16 get_value(struct synaptics_drv_data *data,
    -   u32 pos_x, u32 pos_y)
    +@@ drivers/input/touchscreen/synaptics_sysfs.c: static void 
sec_sysfs_numstr(s16 data, u8 *str)
    +   sprintf(str, "%d", data);
    + }
    + 
    ++static const char *sec_cmd_list_get_name(u32 cmd)
    ++{
    ++  switch (cmd) {
    ++  case CMD_LIST_FW_UPDATE:
    ++          return "CMD_LIST_FW_UPDATE";
    ++  case CMD_LIST_FW_VER_BIN:
    ++          return "CMD_LIST_FW_VER_BIN";
    ++  }
    ++  return "CMD_LIST_UNKNOWN";
    ++}
    ++
    + static void sec_sysfs_cmd(struct synaptics_drv_data *data,
    +   const char *str)
      {
     @@ drivers/input/touchscreen/synaptics_sysfs.c: static void 
sec_sysfs_cmd(struct synaptics_drv_data *data,
    -   disable_irq(irq);
      
        switch (cmd) {
    --  case CMD_LIST_FW_UPDATE:
    --          ret = sec_fw_cmd(data, param[0]);
    +   case CMD_LIST_FW_UPDATE:
    ++          PR_FW_LOADING_ATTEMPT_WARNING(sec_cmd_list_get_name(cmd), cmd);
    +           ret = sec_fw_cmd(data, param[0]);
     -          if (ret)
     -                  tmp_str[cnt++] = "FAIL";
     -          else
     -                  tmp_str[cnt++] = "PASS";
    --          break;
    --
    --  case CMD_LIST_FW_VER_BIN:
    ++          tmp_str[cnt++] = "SKIP";
    +           break;
    + 
    +   case CMD_LIST_FW_VER_BIN:
     -          synaptics_fw_phone(data, buf2);
     -          tmp_str[cnt++] = buf2;
     -          break;
     -
    --  case CMD_LIST_FW_VER_IC:
    +   case CMD_LIST_FW_VER_IC:
     -          synaptics_fw_panel(data, buf2);
     -          tmp_str[cnt++] = buf2;
     -          break;
     -
    --  case CMD_LIST_CONFIG_VER:
    +   case CMD_LIST_CONFIG_VER:
     -          synaptics_fw_config(data, buf2);
     -          tmp_str[cnt++] = buf2;
    --          break;
    --
    ++          PR_FW_LOADING_ATTEMPT_WARNING(sec_cmd_list_get_name(cmd), cmd);
    +           break;
    + 
        case CMD_LIST_GET_THRESHOLD:
    -           temp = synaptics_get_threshold(data);
    -           sec_sysfs_numstr(temp, buf2);
     
      ## drivers/input/touchscreen/synaptics_sysfs.h ##
     @@
    @@ drivers/input/touchscreen/synaptics_sysfs.h
      #define FULL_RAW_CAP_LOWER_LIMIT  1000
      #define FULL_RAW_CAP_UPPER_LIMIT  3000
      #define MAX_RX_SIZE               45
    -@@ drivers/input/touchscreen/synaptics_sysfs.h: enum CMD_STATUS {
    -   CMD_STATUS_FAIL,        /* 5 */
    - };
    - 
    --enum CMD_FW_CMD {
    --  CMD_FW_CMD_BUILT_IN = 0,
    --  CMD_FW_CMD_UMS,
    --};
    --
    - enum CMD_LIST {
    --  CMD_LIST_FW_UPDATE = 0,
    --  CMD_LIST_FW_VER_BIN,
    --  CMD_LIST_FW_VER_IC,
    -   CMD_LIST_CONFIG_VER,
    -   CMD_LIST_GET_THRESHOLD,
    -   CMD_LIST_POWER_OFF,
-- 
2.29.2

_______________________________________________
Replicant mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to