Commit b077d523 authored by Matthias Schiffer's avatar Matthias Schiffer Committed by Dmitry Torokhov

Input: synaptics-rmi4 - remove unneeded struct register_offset

All register offsets are fixed, and a number of places even read or
write multiple registers as a block, so there is no way to support
reordering them without move involved changes. Remove the unneeded level
of indirection in the register access.
Signed-off-by: default avatarMatthias Schiffer <matthias.schiffer@ew.tq-group.com>
Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
Link: https://lore.kernel.org/r/20220608124808.51402-8-matthias.schiffer@ew.tq-group.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent d8d007f2
...@@ -115,7 +115,7 @@ static irqreturn_t rmi_f34_attention(int irq, void *ctx) ...@@ -115,7 +115,7 @@ static irqreturn_t rmi_f34_attention(int irq, void *ctx)
} else { } else {
ret = rmi_read_block(f34->fn->rmi_dev, ret = rmi_read_block(f34->fn->rmi_dev,
f34->fn->fd.data_base_addr + f34->fn->fd.data_base_addr +
f34->v7.off.flash_cmd, V7_COMMAND_OFFSET,
&status, sizeof(status)); &status, sizeof(status));
rmi_dbg(RMI_DEBUG_FN, &f34->fn->dev, "%s: cmd: %#02x, ret: %d\n", rmi_dbg(RMI_DEBUG_FN, &f34->fn->dev, "%s: cmd: %#02x, ret: %d\n",
__func__, status, ret); __func__, status, ret);
......
...@@ -222,20 +222,6 @@ struct image_metadata { ...@@ -222,20 +222,6 @@ struct image_metadata {
struct physical_address phyaddr; struct physical_address phyaddr;
}; };
struct register_offset {
u8 properties;
u8 properties_2;
u8 block_size;
u8 block_count;
u8 gc_block_count;
u8 flash_status;
u8 partition_id;
u8 block_number;
u8 transfer_length;
u8 flash_cmd;
u8 payload;
};
struct rmi_f34_firmware { struct rmi_f34_firmware {
__le32 checksum; __le32 checksum;
u8 pad1[3]; u8 pad1[3];
...@@ -276,7 +262,6 @@ struct f34v7_data { ...@@ -276,7 +262,6 @@ struct f34v7_data {
u8 partitions; u8 partitions;
u16 partition_table_bytes; u16 partition_table_bytes;
struct register_offset off;
struct block_count blkcount; struct block_count blkcount;
struct physical_address phyaddr; struct physical_address phyaddr;
struct image_metadata img; struct image_metadata img;
......
...@@ -25,7 +25,7 @@ static int rmi_f34v7_read_flash_status(struct f34_data *f34) ...@@ -25,7 +25,7 @@ static int rmi_f34v7_read_flash_status(struct f34_data *f34)
int ret; int ret;
ret = rmi_read_block(f34->fn->rmi_dev, ret = rmi_read_block(f34->fn->rmi_dev,
f34->fn->fd.data_base_addr + f34->v7.off.flash_status, f34->fn->fd.data_base_addr + V7_FLASH_STATUS_OFFSET,
&status, &status,
sizeof(status)); sizeof(status));
if (ret < 0) { if (ret < 0) {
...@@ -43,7 +43,7 @@ static int rmi_f34v7_read_flash_status(struct f34_data *f34) ...@@ -43,7 +43,7 @@ static int rmi_f34v7_read_flash_status(struct f34_data *f34)
} }
ret = rmi_read_block(f34->fn->rmi_dev, ret = rmi_read_block(f34->fn->rmi_dev,
f34->fn->fd.data_base_addr + f34->v7.off.flash_cmd, f34->fn->fd.data_base_addr + V7_COMMAND_OFFSET,
&command, &command,
sizeof(command)); sizeof(command));
if (ret < 0) { if (ret < 0) {
...@@ -140,7 +140,7 @@ static int rmi_f34v7_write_command_single_transaction(struct f34_data *f34, ...@@ -140,7 +140,7 @@ static int rmi_f34v7_write_command_single_transaction(struct f34_data *f34,
data_1_5.payload[1] = f34->bootloader_id[1]; data_1_5.payload[1] = f34->bootloader_id[1];
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.partition_id, base + V7_PARTITION_ID_OFFSET,
&data_1_5, sizeof(data_1_5)); &data_1_5, sizeof(data_1_5));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, dev_err(&f34->fn->dev,
...@@ -213,7 +213,7 @@ static int rmi_f34v7_write_command(struct f34_data *f34, u8 cmd) ...@@ -213,7 +213,7 @@ static int rmi_f34v7_write_command(struct f34_data *f34, u8 cmd)
__func__, command); __func__, command);
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.flash_cmd, base + V7_COMMAND_OFFSET,
&command, sizeof(command)); &command, sizeof(command));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, "%s: Failed to write flash command\n", dev_err(&f34->fn->dev, "%s: Failed to write flash command\n",
...@@ -280,7 +280,7 @@ static int rmi_f34v7_write_partition_id(struct f34_data *f34, u8 cmd) ...@@ -280,7 +280,7 @@ static int rmi_f34v7_write_partition_id(struct f34_data *f34, u8 cmd)
} }
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.partition_id, base + V7_PARTITION_ID_OFFSET,
&partition, sizeof(partition)); &partition, sizeof(partition));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, "%s: Failed to write partition ID\n", dev_err(&f34->fn->dev, "%s: Failed to write partition ID\n",
...@@ -308,7 +308,7 @@ static int rmi_f34v7_read_partition_table(struct f34_data *f34) ...@@ -308,7 +308,7 @@ static int rmi_f34v7_read_partition_table(struct f34_data *f34)
return ret; return ret;
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.block_number, base + V7_BLOCK_NUMBER_OFFSET,
&block_number, sizeof(block_number)); &block_number, sizeof(block_number));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, "%s: Failed to write block number\n", dev_err(&f34->fn->dev, "%s: Failed to write block number\n",
...@@ -319,7 +319,7 @@ static int rmi_f34v7_read_partition_table(struct f34_data *f34) ...@@ -319,7 +319,7 @@ static int rmi_f34v7_read_partition_table(struct f34_data *f34)
put_unaligned_le16(f34->v7.flash_config_length, &length); put_unaligned_le16(f34->v7.flash_config_length, &length);
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.transfer_length, base + V7_TRANSFER_LENGTH_OFFSET,
&length, sizeof(length)); &length, sizeof(length));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, "%s: Failed to write transfer length\n", dev_err(&f34->fn->dev, "%s: Failed to write transfer length\n",
...@@ -352,7 +352,7 @@ static int rmi_f34v7_read_partition_table(struct f34_data *f34) ...@@ -352,7 +352,7 @@ static int rmi_f34v7_read_partition_table(struct f34_data *f34)
} }
ret = rmi_read_block(f34->fn->rmi_dev, ret = rmi_read_block(f34->fn->rmi_dev,
base + f34->v7.off.payload, base + V7_PAYLOAD_OFFSET,
f34->v7.read_config_buf, f34->v7.read_config_buf,
f34->v7.partition_table_bytes); f34->v7.partition_table_bytes);
if (ret < 0) { if (ret < 0) {
...@@ -526,13 +526,6 @@ static int rmi_f34v7_read_queries(struct f34_data *f34) ...@@ -526,13 +526,6 @@ static int rmi_f34v7_read_queries(struct f34_data *f34)
rmi_dbg(RMI_DEBUG_FN, &f34->fn->dev, "%s: f34->v7.block_size = %d\n", rmi_dbg(RMI_DEBUG_FN, &f34->fn->dev, "%s: f34->v7.block_size = %d\n",
__func__, f34->v7.block_size); __func__, f34->v7.block_size);
f34->v7.off.flash_status = V7_FLASH_STATUS_OFFSET;
f34->v7.off.partition_id = V7_PARTITION_ID_OFFSET;
f34->v7.off.block_number = V7_BLOCK_NUMBER_OFFSET;
f34->v7.off.transfer_length = V7_TRANSFER_LENGTH_OFFSET;
f34->v7.off.flash_cmd = V7_COMMAND_OFFSET;
f34->v7.off.payload = V7_PAYLOAD_OFFSET;
f34->v7.has_display_cfg = query_1_7.partition_support[1] & HAS_DISP_CFG; f34->v7.has_display_cfg = query_1_7.partition_support[1] & HAS_DISP_CFG;
f34->v7.has_guest_code = f34->v7.has_guest_code =
query_1_7.partition_support[1] & HAS_GUEST_CODE; query_1_7.partition_support[1] & HAS_GUEST_CODE;
...@@ -646,7 +639,7 @@ static int rmi_f34v7_read_blocks(struct f34_data *f34, ...@@ -646,7 +639,7 @@ static int rmi_f34v7_read_blocks(struct f34_data *f34,
return ret; return ret;
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.block_number, base + V7_BLOCK_NUMBER_OFFSET,
&block_number, sizeof(block_number)); &block_number, sizeof(block_number));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, "%s: Failed to write block number\n", dev_err(&f34->fn->dev, "%s: Failed to write block number\n",
...@@ -662,7 +655,7 @@ static int rmi_f34v7_read_blocks(struct f34_data *f34, ...@@ -662,7 +655,7 @@ static int rmi_f34v7_read_blocks(struct f34_data *f34,
put_unaligned_le16(transfer, &length); put_unaligned_le16(transfer, &length);
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.transfer_length, base + V7_TRANSFER_LENGTH_OFFSET,
&length, sizeof(length)); &length, sizeof(length));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, dev_err(&f34->fn->dev,
...@@ -682,7 +675,7 @@ static int rmi_f34v7_read_blocks(struct f34_data *f34, ...@@ -682,7 +675,7 @@ static int rmi_f34v7_read_blocks(struct f34_data *f34,
return ret; return ret;
ret = rmi_read_block(f34->fn->rmi_dev, ret = rmi_read_block(f34->fn->rmi_dev,
base + f34->v7.off.payload, base + V7_PAYLOAD_OFFSET,
&f34->v7.read_config_buf[index], &f34->v7.read_config_buf[index],
transfer * f34->v7.block_size); transfer * f34->v7.block_size);
if (ret < 0) { if (ret < 0) {
...@@ -718,7 +711,7 @@ static int rmi_f34v7_write_f34v7_blocks(struct f34_data *f34, ...@@ -718,7 +711,7 @@ static int rmi_f34v7_write_f34v7_blocks(struct f34_data *f34,
return ret; return ret;
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.block_number, base + V7_BLOCK_NUMBER_OFFSET,
&block_number, sizeof(block_number)); &block_number, sizeof(block_number));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, "%s: Failed to write block number\n", dev_err(&f34->fn->dev, "%s: Failed to write block number\n",
...@@ -738,7 +731,7 @@ static int rmi_f34v7_write_f34v7_blocks(struct f34_data *f34, ...@@ -738,7 +731,7 @@ static int rmi_f34v7_write_f34v7_blocks(struct f34_data *f34,
init_completion(&f34->v7.cmd_done); init_completion(&f34->v7.cmd_done);
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.transfer_length, base + V7_TRANSFER_LENGTH_OFFSET,
&length, sizeof(length)); &length, sizeof(length));
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, dev_err(&f34->fn->dev,
...@@ -752,7 +745,7 @@ static int rmi_f34v7_write_f34v7_blocks(struct f34_data *f34, ...@@ -752,7 +745,7 @@ static int rmi_f34v7_write_f34v7_blocks(struct f34_data *f34,
return ret; return ret;
ret = rmi_write_block(f34->fn->rmi_dev, ret = rmi_write_block(f34->fn->rmi_dev,
base + f34->v7.off.payload, base + V7_PAYLOAD_OFFSET,
block_ptr, transfer * f34->v7.block_size); block_ptr, transfer * f34->v7.block_size);
if (ret < 0) { if (ret < 0) {
dev_err(&f34->fn->dev, dev_err(&f34->fn->dev,
......
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