lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 28 Mar 2011 10:29:19 +0800
From:	Lu Guanqun <guanqun.lu@...el.com>
To:	meego-kernel@...ts.meego.com
Cc:	alan@...ux.intel.com, arjan@...ux.intel.com,
	fengguang.wu@...el.com, feng.tang@...el.com, michael.fu@...el.com,
	xingchao.wang@...el.com, vinod.koul@...el.com, jeeja.kp@...el.com,
	Lu Guanqun <guanqun.lu@...el.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...hat.com>,
	"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
	Feng Tang <feng.tang@...ux.intel.com>,
	Jacob Pan <jacob.jun.pan@...ux.intel.com>,
	Jekyll Lai <jekyll_lai@...tron.com>,
	linux-kernel@...r.kernel.org
Subject: [PATCH v9 1/2] mrst: export get_gpio_by_name() function

Export get_gpio_by_name() function and make its name more focused.  We are
doing this because currently get_gpio_by_name() is only used by the devices
exported from SFI DEVS table, but it is also useful for other PCI devices which
also use the GPIO lines, and have their gpio infos in the SFI GPIO table.

Signed-off-by: Lu Guanqun <guanqun.lu@...el.com>
Reviewed-by: Tang Feng <feng.tang@...el.com>
Acked-by: Wu Fengguang <fengguang.wu@...el.com>
---
 arch/x86/include/asm/mrst.h   |    1 +
 arch/x86/platform/mrst/mrst.c |   35 ++++++++++++++++++-----------------
 2 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/arch/x86/include/asm/mrst.h b/arch/x86/include/asm/mrst.h
index dd8a072..d6cf6d4 100644
--- a/arch/x86/include/asm/mrst.h
+++ b/arch/x86/include/asm/mrst.h
@@ -18,6 +18,7 @@ extern int pci_mrst_init(void);
 extern int __init sfi_parse_mrtc(struct sfi_table_header *table);
 extern int sfi_mrtc_num;
 extern struct sfi_rtc_table_entry sfi_mrtc_array[];
+extern int mid_lookup_gpio(const char *name);
 
 /*
  * Medfield is the follow-up of Moorestown, it combines two chip solution into
diff --git a/arch/x86/platform/mrst/mrst.c b/arch/x86/platform/mrst/mrst.c
index bc5993f..909b2cc 100644
--- a/arch/x86/platform/mrst/mrst.c
+++ b/arch/x86/platform/mrst/mrst.c
@@ -389,7 +389,7 @@ static int __init sfi_parse_gpio(struct sfi_table_header *table)
 	return 0;
 }
 
-static int get_gpio_by_name(const char *name)
+int mid_lookup_gpio(const char *name)
 {
 	struct sfi_gpio_table_entry *pentry = gpio_table;
 	int i;
@@ -402,6 +402,7 @@ static int get_gpio_by_name(const char *name)
 	}
 	return -1;
 }
+EXPORT_SYMBOL_GPL(mid_lookup_gpio);
 
 /*
  * Here defines the array of devices platform data that IAFW would export
@@ -433,7 +434,7 @@ static void __init install_irq_resource(struct platform_device *pdev,
 static void __init *pmic_gpio_platform_data(void *info)
 {
 	static struct intel_pmic_gpio_platform_data pmic_gpio_pdata;
-	int gpio_base = get_gpio_by_name("pmic_gpio_base");
+	int gpio_base = mid_lookup_gpio("pmic_gpio_base");
 
 	if (gpio_base == -1)
 		gpio_base = 64;
@@ -453,7 +454,7 @@ static struct dw_spi_chip max3111_uart = {
 static void __init *max3111_platform_data(void *info)
 {
 	struct spi_board_info *spi_info = info;
-	int intr = get_gpio_by_name("max3111_int");
+	int intr = mid_lookup_gpio("max3111_int");
 
 	spi_info->mode = SPI_MODE_0;
 	spi_info->controller_data = &max3111_uart;
@@ -492,8 +493,8 @@ static void __init *max7315_platform_data(void *info)
 		strcpy(intr_pin_name, "max7315_int");
 	}
 
-	gpio_base = get_gpio_by_name(base_pin_name);
-	intr = get_gpio_by_name(intr_pin_name);
+	gpio_base = mid_lookup_gpio(base_pin_name);
+	intr = mid_lookup_gpio(intr_pin_name);
 
 	if (gpio_base == -1)
 		return NULL;
@@ -520,8 +521,8 @@ static void *tca6416_platform_data(void *info)
 	strcpy(base_pin_name, "tca6416_base");
 	strcpy(intr_pin_name, "tca6416_int");
 
-	gpio_base = get_gpio_by_name(base_pin_name);
-	intr = get_gpio_by_name(intr_pin_name);
+	gpio_base = mid_lookup_gpio(base_pin_name);
+	intr = mid_lookup_gpio(intr_pin_name);
 
 	if (gpio_base == -1)
 		return NULL;
@@ -539,7 +540,7 @@ static void *tca6416_platform_data(void *info)
 static void *mpu3050_platform_data(void *info)
 {
 	struct i2c_board_info *i2c_info = info;
-	int intr = get_gpio_by_name("mpu3050_int");
+	int intr = mid_lookup_gpio("mpu3050_int");
 
 	if (intr == -1)
 		return NULL;
@@ -558,7 +559,7 @@ static void *ektf2136_spi_platform_data(void *info)
 {
 	struct spi_board_info *spi_info = info;
 	static struct ektf2136_platform_data ektf2136_spi_pdata;
-	int gpio = get_gpio_by_name("ts_int");
+	int gpio = mid_lookup_gpio("ts_int");
 
 	if (gpio == -1)
 		return NULL;
@@ -574,8 +575,8 @@ static void __init *emc1403_platform_data(void *info)
 {
 	static short intr2nd_pdata;
 	struct i2c_board_info *i2c_info = info;
-	int intr = get_gpio_by_name("thermal_int");
-	int intr2nd = get_gpio_by_name("thermal_alert");
+	int intr = mid_lookup_gpio("thermal_int");
+	int intr2nd = mid_lookup_gpio("thermal_alert");
 
 	if (intr == -1 || intr2nd == -1)
 		return NULL;
@@ -592,7 +593,7 @@ static void __init *msic_ocd_platform_data(void *info)
 	int gpio_base;
 	struct platform_device *pdev = (struct platform_device *)info;
 
-	gpio_base = get_gpio_by_name("msic_ocd");
+	gpio_base = mid_lookup_gpio("msic_ocd");
 	if (gpio_base == -1)
 		return NULL;
 
@@ -604,8 +605,8 @@ static void __init *lis331dl_platform_data(void *info)
 {
 	static short intr2nd_pdata;
 	struct i2c_board_info *i2c_info = info;
-	int intr = get_gpio_by_name("accel_int");
-	int intr2nd = get_gpio_by_name("accel_2");
+	int intr = mid_lookup_gpio("accel_int");
+	int intr2nd = mid_lookup_gpio("accel_2");
 
 	if (intr == -1 || intr2nd == -1)
 		return NULL;
@@ -763,8 +764,8 @@ static void *tc35894xbg_platform_data(struct i2c_board_info *i2c_info,
 			      struct tc35894xbg_platform_data* tc_data)
 
 {
-	tc_data->gpio_irq = get_gpio_by_name("keypad-intr");
-	tc_data->gpio_reset = get_gpio_by_name("keypad-reset");
+	tc_data->gpio_irq = mid_lookup_gpio("keypad-intr");
+	tc_data->gpio_reset = mid_lookup_gpio("keypad-reset");
 
 	printk(KERN_INFO "Nokia: keypad-intr on %d, keypad-reset on %d\n",
 	       tc_data->gpio_irq, tc_data->gpio_reset);
@@ -1117,7 +1118,7 @@ static int __init pb_keys_init(void)
 
 	num = sizeof(gpio_button) / sizeof(struct gpio_keys_button);
 	for (i = 0; i < num; i++) {
-		gb[i].gpio = get_gpio_by_name(gb[i].desc);
+		gb[i].gpio = mid_lookup_gpio(gb[i].desc);
 		if (gb[i].gpio == -1)
 			continue;
 
-- 
1.7.2.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ