On Wed, Jan 08, 2020 at 02:41:36PM +0300, Mika Westerberg wrote: > There is no user for this function so we can drop it from the driver. > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > --- > arch/x86/include/asm/intel_scu_ipc.h | 2 - > drivers/platform/x86/intel_scu_ipc.c | 63 ---------------------------- > 2 files changed, 65 deletions(-) > > diff --git a/arch/x86/include/asm/intel_scu_ipc.h b/arch/x86/include/asm/intel_scu_ipc.h > index b59afa59a4cb..2a1442ba6e78 100644 > --- a/arch/x86/include/asm/intel_scu_ipc.h > +++ b/arch/x86/include/asm/intel_scu_ipc.h > @@ -38,8 +38,6 @@ int intel_scu_ipc_update_register(u16 addr, u8 data, u8 mask); > int intel_scu_ipc_simple_command(int cmd, int sub); > int intel_scu_ipc_command(int cmd, int sub, u32 *in, int inlen, > u32 *out, int outlen); > -int intel_scu_ipc_raw_command(int cmd, int sub, u8 *in, int inlen, > - u32 *out, int outlen, u32 dptr, u32 sptr); > > extern struct blocking_notifier_head intel_scu_notifier; > > diff --git a/drivers/platform/x86/intel_scu_ipc.c b/drivers/platform/x86/intel_scu_ipc.c > index ba857e54800b..93a810fa6c8a 100644 > --- a/drivers/platform/x86/intel_scu_ipc.c > +++ b/drivers/platform/x86/intel_scu_ipc.c > @@ -383,69 +383,6 @@ int intel_scu_ipc_command(int cmd, int sub, u32 *in, int inlen, > } > EXPORT_SYMBOL(intel_scu_ipc_command); > > -#define IPC_SPTR 0x08 > -#define IPC_DPTR 0x0C > - > -/** > - * intel_scu_ipc_raw_command() - IPC command with data and pointers > - * @cmd: IPC command code. > - * @sub: IPC command sub type. > - * @in: input data of this IPC command. > - * @inlen: input data length in dwords. > - * @out: output data of this IPC command. > - * @outlen: output data length in dwords. > - * @sptr: data writing to SPTR register. > - * @dptr: data writing to DPTR register. > - * > - * Send an IPC command to SCU with input/output data and source/dest pointers. > - * > - * Return: an IPC error code or 0 on success. > - */ > -int intel_scu_ipc_raw_command(int cmd, int sub, u8 *in, int inlen, > - u32 *out, int outlen, u32 dptr, u32 sptr) > -{ > - struct intel_scu_ipc_dev *scu = &ipcdev; > - int inbuflen = DIV_ROUND_UP(inlen, 4); > - u32 inbuf[4]; > - int i, err; > - > - /* Up to 16 bytes */ > - if (inbuflen > 4) > - return -EINVAL; > - > - mutex_lock(&ipclock); > - if (scu->dev == NULL) { > - mutex_unlock(&ipclock); > - return -ENODEV; > - } > - > - writel(dptr, scu->ipc_base + IPC_DPTR); > - writel(sptr, scu->ipc_base + IPC_SPTR); > - > - /* > - * SRAM controller doesn't support 8-bit writes, it only > - * supports 32-bit writes, so we have to copy input data into > - * the temporary buffer, and SCU FW will use the inlen to > - * determine the actual input data length in the temporary > - * buffer. > - */ > - memcpy(inbuf, in, inlen); > - > - for (i = 0; i < inbuflen; i++) > - ipc_data_writel(scu, inbuf[i], 4 * i); > - > - ipc_command(scu, (inlen << 16) | (sub << 12) | cmd); > - err = intel_scu_ipc_check_status(scu); > - if (!err) { > - for (i = 0; i < outlen; i++) > - *out++ = ipc_data_readl(scu, 4 * i); > - } > - > - mutex_unlock(&ipclock); > - return err; > -} > -EXPORT_SYMBOL_GPL(intel_scu_ipc_raw_command); > - > /* > * Interrupt handler gets called when ioc bit of IPC_COMMAND_REG set to 1 > * When ioc bit is set to 1, caller api must wait for interrupt handler called > -- > 2.24.1 > -- With Best Regards, Andy Shevchenko