diff options
Diffstat (limited to 'drivers/soundwire/intel_init.c')
| -rw-r--r-- | drivers/soundwire/intel_init.c | 32 | 
1 files changed, 8 insertions, 24 deletions
| diff --git a/drivers/soundwire/intel_init.c b/drivers/soundwire/intel_init.c index 2a2b4d8df462..4b769409f6f8 100644 --- a/drivers/soundwire/intel_init.c +++ b/drivers/soundwire/intel_init.c @@ -27,19 +27,9 @@ static int link_mask;  module_param_named(sdw_link_mask, link_mask, int, 0444);  MODULE_PARM_DESC(sdw_link_mask, "Intel link mask (one bit per link)"); -struct sdw_link_data { -	struct sdw_intel_link_res res; -	struct platform_device *pdev; -}; - -struct sdw_intel_ctx { -	int count; -	struct sdw_link_data *links; -}; -  static int sdw_intel_cleanup_pdev(struct sdw_intel_ctx *ctx)  { -	struct sdw_link_data *link = ctx->links; +	struct sdw_intel_link_res *link = ctx->links;  	int i;  	if (!link) @@ -62,7 +52,7 @@ static struct sdw_intel_ctx  {  	struct platform_device_info pdevinfo;  	struct platform_device *pdev; -	struct sdw_link_data *link; +	struct sdw_intel_link_res *link;  	struct sdw_intel_ctx *ctx;  	struct acpi_device *adev;  	int ret, i; @@ -123,14 +113,13 @@ static struct sdw_intel_ctx  			continue;  		} -		link->res.irq = res->irq; -		link->res.registers = res->mmio_base + SDW_LINK_BASE +		link->registers = res->mmio_base + SDW_LINK_BASE  					+ (SDW_LINK_SIZE * i); -		link->res.shim = res->mmio_base + SDW_SHIM_BASE; -		link->res.alh = res->mmio_base + SDW_ALH_BASE; +		link->shim = res->mmio_base + SDW_SHIM_BASE; +		link->alh = res->mmio_base + SDW_ALH_BASE; -		link->res.ops = res->ops; -		link->res.arg = res->arg; +		link->ops = res->ops; +		link->dev = res->dev;  		memset(&pdevinfo, 0, sizeof(pdevinfo)); @@ -138,8 +127,6 @@ static struct sdw_intel_ctx  		pdevinfo.name = "int-sdw";  		pdevinfo.id = i;  		pdevinfo.fwnode = acpi_fwnode_handle(adev); -		pdevinfo.data = &link->res; -		pdevinfo.size_data = sizeof(link->res);  		pdev = platform_device_register_full(&pdevinfo);  		if (IS_ERR(pdev)) { @@ -216,7 +203,6 @@ void *sdw_intel_init(acpi_handle *parent_handle, struct sdw_intel_res *res)  	return sdw_intel_add_controller(res);  } -EXPORT_SYMBOL(sdw_intel_init);  /**   * sdw_intel_exit() - SoundWire Intel exit @@ -224,10 +210,8 @@ EXPORT_SYMBOL(sdw_intel_init);   *   * Delete the controller instances created and cleanup   */ -void sdw_intel_exit(void *arg) +void sdw_intel_exit(struct sdw_intel_ctx *ctx)  { -	struct sdw_intel_ctx *ctx = arg; -  	sdw_intel_cleanup_pdev(ctx);  	kfree(ctx);  } | 
