From 0e6fdb5f036338bc38bf660c65c931b3e92a31d7 Mon Sep 17 00:00:00 2001 From: David Cohen Date: Thu, 17 Oct 2013 15:35:34 -0700 Subject: [PATCH] intel-mid: sfi: Allow struct devs_id.get_platform_data to be NULL Intel mid sfi code doesn't need struct devs_id.get_platform_data != NULL. If the callback is not set, just assume there is no platform_data. Signed-off-by: David Cohen Link: http://lkml.kernel.org/r/1382049336-21316-11-git-send-email-david.a.cohen@linux.intel.com Cc: Kuppuswamy Sathyanarayanan Signed-off-by: H. Peter Anvin --- arch/x86/platform/intel-mid/sfi.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/x86/platform/intel-mid/sfi.c b/arch/x86/platform/intel-mid/sfi.c index 2f8196d38f53..3f1c171e5ce3 100644 --- a/arch/x86/platform/intel-mid/sfi.c +++ b/arch/x86/platform/intel-mid/sfi.c @@ -70,6 +70,9 @@ struct blocking_notifier_head intel_scu_notifier = BLOCKING_NOTIFIER_INIT(intel_scu_notifier); EXPORT_SYMBOL_GPL(intel_scu_notifier); +#define intel_mid_sfi_get_pdata(dev, priv) \ + ((dev)->get_platform_data ? (dev)->get_platform_data(priv) : NULL) + /* parse all the mtimer info to a static mtimer array */ int __init sfi_parse_mtmr(struct sfi_table_header *table) { @@ -334,7 +337,7 @@ static void __init sfi_handle_ipc_dev(struct sfi_device_table_entry *pentry, pr_debug("IPC bus, name = %16.16s, irq = 0x%2x\n", pentry->name, pentry->irq); - pdata = dev->get_platform_data(pentry); + pdata = intel_mid_sfi_get_pdata(dev, pentry); pdev = platform_device_alloc(pentry->name, 0); if (pdev == NULL) { @@ -367,7 +370,7 @@ static void __init sfi_handle_spi_dev(struct sfi_device_table_entry *pentry, spi_info.max_speed_hz, spi_info.chip_select); - pdata = dev->get_platform_data(&spi_info); + pdata = intel_mid_sfi_get_pdata(dev, &spi_info); spi_info.platform_data = pdata; if (dev->delay) @@ -391,7 +394,7 @@ static void __init sfi_handle_i2c_dev(struct sfi_device_table_entry *pentry, i2c_info.type, i2c_info.irq, i2c_info.addr); - pdata = dev->get_platform_data(&i2c_info); + pdata = intel_mid_sfi_get_pdata(dev, &i2c_info); i2c_info.platform_data = pdata; if (dev->delay) @@ -450,7 +453,7 @@ static int __init sfi_parse_devs(struct sfi_table_header *table) dev = get_device_id(pentry->type, pentry->name); - if ((dev == NULL) || (dev->get_platform_data == NULL)) + if (!dev) continue; if (dev->device_handler) { -- 2.39.5