* Re: [PATCH RFT] platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full [not found] <1474689248-5925-1-git-send-email-axel.lin@ingics.com> @ 2016-09-28 23:36 ` Darren Hart 2016-09-29 0:59 ` Axel Lin 2016-09-29 1:51 ` Zha, Qipeng 0 siblings, 2 replies; 4+ messages in thread From: Darren Hart @ 2016-09-28 23:36 UTC (permalink / raw) To: Axel Lin Cc: Zha Qipeng, Aubrey Li, platform-driver-x86, Linux Kernel Mailing List +LKML Axel, please always include LKML on any patch. Qipeng, any concerns? On Sat, Sep 24, 2016 at 11:54:08AM +0800, Axel Lin wrote: > Use platform_device_register_full() instead of open-coded. > > Signed-off-by: Axel Lin <axel.lin@ingics.com> > --- > drivers/platform/x86/intel_pmc_ipc.c | 110 +++++++++++------------------------ > 1 file changed, 33 insertions(+), 77 deletions(-) > > diff --git a/drivers/platform/x86/intel_pmc_ipc.c b/drivers/platform/x86/intel_pmc_ipc.c > index b86e1bc..665a9a1 100644 > --- a/drivers/platform/x86/intel_pmc_ipc.c > +++ b/drivers/platform/x86/intel_pmc_ipc.c > @@ -522,48 +522,36 @@ static struct resource telemetry_res[] = { > static int ipc_create_punit_device(void) > { > struct platform_device *pdev; > - int ret; > - > - pdev = platform_device_alloc(PUNIT_DEVICE_NAME, -1); > - if (!pdev) { > - dev_err(ipcdev.dev, "Failed to alloc punit platform device\n"); > - return -ENOMEM; > - } > - > - pdev->dev.parent = ipcdev.dev; > - ret = platform_device_add_resources(pdev, punit_res_array, > - ARRAY_SIZE(punit_res_array)); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add platform punit resources\n"); > - goto err; > - } > + const struct platform_device_info pdevinfo = { > + .parent = ipcdev.dev, > + .name = PUNIT_DEVICE_NAME, > + .id = -1, > + .res = punit_res_array, > + .num_res = ARRAY_SIZE(punit_res_array), > + }; > + > + pdev = platform_device_register_full(&pdevinfo); > + if (IS_ERR(pdev)) > + return PTR_ERR(pdev); > > - ret = platform_device_add(pdev); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add punit platform device\n"); > - goto err; > - } > ipcdev.punit_dev = pdev; > > return 0; > -err: > - platform_device_put(pdev); > - return ret; > } > > static int ipc_create_tco_device(void) > { > struct platform_device *pdev; > struct resource *res; > - int ret; > - > - pdev = platform_device_alloc(TCO_DEVICE_NAME, -1); > - if (!pdev) { > - dev_err(ipcdev.dev, "Failed to alloc tco platform device\n"); > - return -ENOMEM; > - } > - > - pdev->dev.parent = ipcdev.dev; > + const struct platform_device_info pdevinfo = { > + .parent = ipcdev.dev, > + .name = TCO_DEVICE_NAME, > + .id = -1, > + .res = tco_res, > + .num_res = ARRAY_SIZE(tco_res), > + .data = &tco_info, > + .size_data = sizeof(tco_info), > + }; > > res = tco_res + TCO_RESOURCE_ACPI_IO; > res->start = ipcdev.acpi_io_base + TCO_BASE_OFFSET; > @@ -577,45 +565,26 @@ static int ipc_create_tco_device(void) > res->start = ipcdev.gcr_base + TCO_PMC_OFFSET; > res->end = res->start + TCO_PMC_SIZE - 1; > > - ret = platform_device_add_resources(pdev, tco_res, ARRAY_SIZE(tco_res)); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add tco platform resources\n"); > - goto err; > - } > - > - ret = platform_device_add_data(pdev, &tco_info, sizeof(tco_info)); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add tco platform data\n"); > - goto err; > - } > + pdev = platform_device_register_full(&pdevinfo); > + if (IS_ERR(pdev)) > + return PTR_ERR(pdev); > > - ret = platform_device_add(pdev); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add tco platform device\n"); > - goto err; > - } > ipcdev.tco_dev = pdev; > > return 0; > -err: > - platform_device_put(pdev); > - return ret; > } > > static int ipc_create_telemetry_device(void) > { > struct platform_device *pdev; > struct resource *res; > - int ret; > - > - pdev = platform_device_alloc(TELEMETRY_DEVICE_NAME, -1); > - if (!pdev) { > - dev_err(ipcdev.dev, > - "Failed to allocate telemetry platform device\n"); > - return -ENOMEM; > - } > - > - pdev->dev.parent = ipcdev.dev; > + const struct platform_device_info pdevinfo = { > + .parent = ipcdev.dev, > + .name = TELEMETRY_DEVICE_NAME, > + .id = -1, > + .res = telemetry_res, > + .num_res = ARRAY_SIZE(telemetry_res), > + }; > > res = telemetry_res + TELEMETRY_RESOURCE_PUNIT_SSRAM; > res->start = ipcdev.telem_punit_ssram_base; > @@ -625,26 +594,13 @@ static int ipc_create_telemetry_device(void) > res->start = ipcdev.telem_pmc_ssram_base; > res->end = res->start + ipcdev.telem_pmc_ssram_size - 1; > > - ret = platform_device_add_resources(pdev, telemetry_res, > - ARRAY_SIZE(telemetry_res)); > - if (ret) { > - dev_err(ipcdev.dev, > - "Failed to add telemetry platform resources\n"); > - goto err; > - } > + pdev = platform_device_register_full(&pdevinfo); > + if (IS_ERR(pdev)) > + return PTR_ERR(pdev); > > - ret = platform_device_add(pdev); > - if (ret) { > - dev_err(ipcdev.dev, > - "Failed to add telemetry platform device\n"); > - goto err; > - } > ipcdev.telemetry_dev = pdev; > > return 0; > -err: > - platform_device_put(pdev); > - return ret; > } > > static int ipc_create_pmc_devices(void) > -- > 2.7.4 > > -- Darren Hart Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH RFT] platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full 2016-09-28 23:36 ` [PATCH RFT] platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full Darren Hart @ 2016-09-29 0:59 ` Axel Lin 2016-09-29 1:15 ` Darren Hart 2016-09-29 1:51 ` Zha, Qipeng 1 sibling, 1 reply; 4+ messages in thread From: Axel Lin @ 2016-09-29 0:59 UTC (permalink / raw) To: Darren Hart Cc: Zha Qipeng, Aubrey Li, platform-driver-x86, Linux Kernel Mailing List 2016-09-29 7:36 GMT+08:00 Darren Hart <dvhart@infradead.org>: > +LKML > > Axel, please always include LKML on any patch. I thought +LKML is optional if you already have a dedicated platform-driver-x86 maillist. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH RFT] platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full 2016-09-29 0:59 ` Axel Lin @ 2016-09-29 1:15 ` Darren Hart 0 siblings, 0 replies; 4+ messages in thread From: Darren Hart @ 2016-09-29 1:15 UTC (permalink / raw) To: Axel Lin Cc: Zha Qipeng, Aubrey Li, platform-driver-x86, Linux Kernel Mailing List On Thu, Sep 29, 2016 at 08:59:55AM +0800, Axel Lin wrote: > 2016-09-29 7:36 GMT+08:00 Darren Hart <dvhart@infradead.org>: > > +LKML > > > > Axel, please always include LKML on any patch. > > I thought +LKML is optional if you already have a dedicated > platform-driver-x86 maillist. Nope, LKML is never optional. All patches to the Linux Kernel must include LKML. -- Darren Hart Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH RFT] platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full 2016-09-28 23:36 ` [PATCH RFT] platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full Darren Hart 2016-09-29 0:59 ` Axel Lin @ 2016-09-29 1:51 ` Zha, Qipeng 1 sibling, 0 replies; 4+ messages in thread From: Zha, Qipeng @ 2016-09-29 1:51 UTC (permalink / raw) To: Darren Hart, Axel Lin Cc: Aubrey Li, platform-driver-x86, Linux Kernel Mailing List It's good to me, thanks. >+LKML > >Axel, please always include LKML on any patch. > >Qipeng, any concerns? On Sat, Sep 24, 2016 at 11:54:08AM +0800, Axel Lin wrote: > Use platform_device_register_full() instead of open-coded. > > Signed-off-by: Axel Lin <axel.lin@ingics.com> > --- > drivers/platform/x86/intel_pmc_ipc.c | 110 > +++++++++++------------------------ > 1 file changed, 33 insertions(+), 77 deletions(-) > > diff --git a/drivers/platform/x86/intel_pmc_ipc.c > b/drivers/platform/x86/intel_pmc_ipc.c > index b86e1bc..665a9a1 100644 > --- a/drivers/platform/x86/intel_pmc_ipc.c > +++ b/drivers/platform/x86/intel_pmc_ipc.c > @@ -522,48 +522,36 @@ static struct resource telemetry_res[] = { > static int ipc_create_punit_device(void) { > struct platform_device *pdev; > - int ret; > - > - pdev = platform_device_alloc(PUNIT_DEVICE_NAME, -1); > - if (!pdev) { > - dev_err(ipcdev.dev, "Failed to alloc punit platform device\n"); > - return -ENOMEM; > - } > - > - pdev->dev.parent = ipcdev.dev; > - ret = platform_device_add_resources(pdev, punit_res_array, > - ARRAY_SIZE(punit_res_array)); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add platform punit resources\n"); > - goto err; > - } > + const struct platform_device_info pdevinfo = { > + .parent = ipcdev.dev, > + .name = PUNIT_DEVICE_NAME, > + .id = -1, > + .res = punit_res_array, > + .num_res = ARRAY_SIZE(punit_res_array), > + }; > + > + pdev = platform_device_register_full(&pdevinfo); > + if (IS_ERR(pdev)) > + return PTR_ERR(pdev); > > - ret = platform_device_add(pdev); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add punit platform device\n"); > - goto err; > - } > ipcdev.punit_dev = pdev; > > return 0; > -err: > - platform_device_put(pdev); > - return ret; > } > > static int ipc_create_tco_device(void) { > struct platform_device *pdev; > struct resource *res; > - int ret; > - > - pdev = platform_device_alloc(TCO_DEVICE_NAME, -1); > - if (!pdev) { > - dev_err(ipcdev.dev, "Failed to alloc tco platform device\n"); > - return -ENOMEM; > - } > - > - pdev->dev.parent = ipcdev.dev; > + const struct platform_device_info pdevinfo = { > + .parent = ipcdev.dev, > + .name = TCO_DEVICE_NAME, > + .id = -1, > + .res = tco_res, > + .num_res = ARRAY_SIZE(tco_res), > + .data = &tco_info, > + .size_data = sizeof(tco_info), > + }; > > res = tco_res + TCO_RESOURCE_ACPI_IO; > res->start = ipcdev.acpi_io_base + TCO_BASE_OFFSET; @@ -577,45 > +565,26 @@ static int ipc_create_tco_device(void) > res->start = ipcdev.gcr_base + TCO_PMC_OFFSET; > res->end = res->start + TCO_PMC_SIZE - 1; > > - ret = platform_device_add_resources(pdev, tco_res, ARRAY_SIZE(tco_res)); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add tco platform resources\n"); > - goto err; > - } > - > - ret = platform_device_add_data(pdev, &tco_info, sizeof(tco_info)); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add tco platform data\n"); > - goto err; > - } > + pdev = platform_device_register_full(&pdevinfo); > + if (IS_ERR(pdev)) > + return PTR_ERR(pdev); > > - ret = platform_device_add(pdev); > - if (ret) { > - dev_err(ipcdev.dev, "Failed to add tco platform device\n"); > - goto err; > - } > ipcdev.tco_dev = pdev; > > return 0; > -err: > - platform_device_put(pdev); > - return ret; > } > > static int ipc_create_telemetry_device(void) { > struct platform_device *pdev; > struct resource *res; > - int ret; > - > - pdev = platform_device_alloc(TELEMETRY_DEVICE_NAME, -1); > - if (!pdev) { > - dev_err(ipcdev.dev, > - "Failed to allocate telemetry platform device\n"); > - return -ENOMEM; > - } > - > - pdev->dev.parent = ipcdev.dev; > + const struct platform_device_info pdevinfo = { > + .parent = ipcdev.dev, > + .name = TELEMETRY_DEVICE_NAME, > + .id = -1, > + .res = telemetry_res, > + .num_res = ARRAY_SIZE(telemetry_res), > + }; > > res = telemetry_res + TELEMETRY_RESOURCE_PUNIT_SSRAM; > res->start = ipcdev.telem_punit_ssram_base; @@ -625,26 +594,13 @@ > static int ipc_create_telemetry_device(void) > res->start = ipcdev.telem_pmc_ssram_base; > res->end = res->start + ipcdev.telem_pmc_ssram_size - 1; > > - ret = platform_device_add_resources(pdev, telemetry_res, > - ARRAY_SIZE(telemetry_res)); > - if (ret) { > - dev_err(ipcdev.dev, > - "Failed to add telemetry platform resources\n"); > - goto err; > - } > + pdev = platform_device_register_full(&pdevinfo); > + if (IS_ERR(pdev)) > + return PTR_ERR(pdev); > > - ret = platform_device_add(pdev); > - if (ret) { > - dev_err(ipcdev.dev, > - "Failed to add telemetry platform device\n"); > - goto err; > - } > ipcdev.telemetry_dev = pdev; > > return 0; > -err: > - platform_device_put(pdev); > - return ret; > } > > static int ipc_create_pmc_devices(void) > -- > 2.7.4 > > -- Darren Hart Intel Open Source Technology Center ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-09-29 1:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1474689248-5925-1-git-send-email-axel.lin@ingics.com>
2016-09-28 23:36 ` [PATCH RFT] platform/x86: intel_pmc_ipc: Convert to use platform_device_register_full Darren Hart
2016-09-29 0:59 ` Axel Lin
2016-09-29 1:15 ` Darren Hart
2016-09-29 1:51 ` Zha, Qipeng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®