Revert "usb: typec: ucsi: Add support for message out data structure"

This reverts commit db0028637cc832add6d87564fcc2ebb12781b046.

The new buffer management code that this feature relies on is broken so
revert for now.

As for the in buffer, nothing prevents the out message size and buffer
from being modified while the message is being processed due to lack of
serialisation.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patch.msgid.link/20251222152204.2846-4-johan@kernel.org

authored by Johan Hovold and committed by Greg Kroah-Hartman 2e46b4e0 174e7d0f

-32
-14
drivers/usb/typec/ucsi/ucsi.c
··· 67 67 68 68 reinit_completion(&ucsi->complete); 69 69 70 - if (ucsi->message_out_size > 0) { 71 - if (!ucsi->ops->write_message_out) { 72 - ucsi->message_out_size = 0; 73 - ret = -EOPNOTSUPP; 74 - goto out_clear_bit; 75 - } 76 - 77 - ret = ucsi->ops->write_message_out(ucsi, ucsi->message_out, 78 - ucsi->message_out_size); 79 - ucsi->message_out_size = 0; 80 - if (ret) 81 - goto out_clear_bit; 82 - } 83 - 84 70 ret = ucsi->ops->async_control(ucsi, command); 85 71 if (ret) 86 72 goto out_clear_bit;
-2
drivers/usb/typec/ucsi/ucsi.h
··· 69 69 * @read_cci: Read CCI register 70 70 * @poll_cci: Read CCI register while polling with notifications disabled 71 71 * @read_message_in: Read message data from UCSI 72 - * @write_message_out: Write message data to UCSI 73 72 * @sync_control: Blocking control operation 74 73 * @async_control: Non-blocking control operation 75 74 * @update_altmodes: Squashes duplicate DP altmodes ··· 84 85 int (*read_cci)(struct ucsi *ucsi, u32 *cci); 85 86 int (*poll_cci)(struct ucsi *ucsi, u32 *cci); 86 87 int (*read_message_in)(struct ucsi *ucsi, void *val, size_t val_len); 87 - int (*write_message_out)(struct ucsi *ucsi, void *data, size_t data_len); 88 88 int (*sync_control)(struct ucsi *ucsi, u64 command, u32 *cci); 89 89 int (*async_control)(struct ucsi *ucsi, u64 command); 90 90 bool (*update_altmodes)(struct ucsi *ucsi, u8 recipient,
-16
drivers/usb/typec/ucsi/ucsi_acpi.c
··· 86 86 return 0; 87 87 } 88 88 89 - static int ucsi_acpi_write_message_out(struct ucsi *ucsi, void *data, size_t data_len) 90 - { 91 - struct ucsi_acpi *ua = ucsi_get_drvdata(ucsi); 92 - 93 - if (!data || !data_len) 94 - return -EINVAL; 95 - 96 - if (ucsi->version <= UCSI_VERSION_1_2) 97 - memcpy(ua->base + UCSI_MESSAGE_OUT, data, data_len); 98 - else 99 - memcpy(ua->base + UCSIv2_MESSAGE_OUT, data, data_len); 100 - 101 - return 0; 102 - } 103 - 104 89 static int ucsi_acpi_async_control(struct ucsi *ucsi, u64 command) 105 90 { 106 91 struct ucsi_acpi *ua = ucsi_get_drvdata(ucsi); ··· 101 116 .read_cci = ucsi_acpi_read_cci, 102 117 .poll_cci = ucsi_acpi_poll_cci, 103 118 .read_message_in = ucsi_acpi_read_message_in, 104 - .write_message_out = ucsi_acpi_write_message_out, 105 119 .sync_control = ucsi_sync_control_common, 106 120 .async_control = ucsi_acpi_async_control 107 121 };