On Wed, 10 Oct 2018, Christoph Hellwig wrote:
> esp->dev is a void pointer that points either to a struct device, or a
> struct platform_device. As we can easily get from the device to the
> platform_device if needed change it to always point to a struct device
> and properly type the pointer to avoid errors.
>
If you do so, can you also eliminate the dev argument to
scsi_esp_register()?
> ...
> diff --git a/drivers/scsi/sun_esp.c b/drivers/scsi/sun_esp.c
> index c7b60ed61c38..c025f7ddaeb0 100644
> --- a/drivers/scsi/sun_esp.c
> +++ b/drivers/scsi/sun_esp.c
> @@ -80,7 +80,7 @@ static int esp_sbus_setup_dma(struct esp *esp, struct
> platform_device *dma_of)
>
> static int esp_sbus_map_regs(struct esp *esp, int hme)
> {
> - struct platform_device *op = esp->dev;
> + struct platform_device *op = to_platform_device(esp->dev);
> struct resource *res;
>
> /* On HME, two reg sets exist, first is DVMA,
> @@ -100,9 +100,9 @@ static int esp_sbus_map_regs(struct esp *esp, int hme)
>
> static int esp_sbus_map_command_block(struct esp *esp)
> {
> - struct platform_device *op = esp->dev;
> + struct platform_device *op = to_platform_device(esp->dev);
>
> - esp->command_block = dma_alloc_coherent(&op->dev, 16,
> + esp->command_block = dma_alloc_coherent(dev, 16,
Shouldn't that be esp->dev?
--