 8287361abc
			
		
	
	
	8287361abc
	
	
	
		
			
			This is a collection of header file cleanups, mostly for OMAP and AT91, that keeps moving the platforms in the direction of multiplatform by removing the need for mach-dependent header files used in drivers and other places. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJQx2reAAoJEIwa5zzehBx3Z/oQAIHp8aXbUD0GvbBPQ2vIydZ8 Qfdh2ypbyFB9GSLmPP6BhurEFUcwmW3MH2r9Kq68omPt4XxrFEt1SdEn3TgZlhTY YYzEv2DLbWfmKCDBFAEFullsfVkrpggyou5ty30YVp/u2lVLvChpkciE5/9HADy5 uoh/W2KZcLE51tvnbRy/1DBaOtxEdCjJ9hTaef7FCB9ugOG+yMDYwIPRW/b4fNA6 o/1NuZTWp0H4ePRG2oqLxYnjSiF63DVTJZjSJ+c5gW34bWgh8+/xzaLFA9U++/ig meGUD1Oe65+ctr+Wk2mV29eb02jauUe6qvkwt+iFIDDopgc2mn5BcW+ENpgpjhe3 6l3ClRd94qh4cMWzqDa5PZCdetshiKqSH2IGpKS/dHNB1h5sBP7CCbvbalwzWd5n qjfkPC7kSFyU3XV+9SEAXE6HLKsiMQy9kRcKOMdTE5BA4FEAZk0wfiG9WcVCvS2D 9tDC3X0aScyXx4Mkd4wIAZVhY68QuI17fPft9zZSj691YiUW5cR2yF1qbCka0yd5 pHu/QSZg1+dUitMUvMPQmWJ15jnAtEYUtV/8zQFFVchgkxlrW+UtvW3zxghB6D+J ZwcjAMfQQz9fLoMQXlVovjQIhYsjw3SlV62ReBH7eyPs3+KfPIBn7Ks6mVQs3dS5 AMUWORsB5u92XHl9EL9C =aggA -----END PGP SIGNATURE----- Merge tag 'headers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC Header cleanups from Olof Johansson: "This is a collection of header file cleanups, mostly for OMAP and AT91, that keeps moving the platforms in the direction of multiplatform by removing the need for mach-dependent header files used in drivers and other places." Fix up mostly trivial conflicts as per Olof. * tag 'headers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (106 commits) ARM: OMAP2+: Move iommu/iovmm headers to platform_data ARM: OMAP2+: Make some definitions local ARM: OMAP2+: Move iommu2 to drivers/iommu/omap-iommu2.c ARM: OMAP2+: Move plat/iovmm.h to include/linux/omap-iommu.h ARM: OMAP2+: Move iopgtable header to drivers/iommu/ ARM: OMAP: Merge iommu2.h into iommu.h atmel: move ATMEL_MAX_UART to platform_data/atmel.h ARM: OMAP: Remove omap_init_consistent_dma_size() arm: at91: move at91rm9200 rtc header in drivers/rtc arm: at91: move reset controller header to arm/arm/mach-at91 arm: at91: move pit define to the driver arm: at91: move at91_shdwc.h to arch/arm/mach-at91 arm: at91: move board header to arch/arm/mach-at91 arn: at91: move at91_tc.h to arch/arm/mach-at91 arm: at91 move at91_aic.h to arch/arm/mach-at91 arm: at91 move board.h to arch/arm/mach-at91 arm: at91: move platfarm_data to include/linux/platform_data/atmel.h arm: at91: drop machine defconfig ARM: OMAP: Remove NEED_MACH_GPIO_H ARM: OMAP: Remove unnecessary mach and plat includes ...
		
			
				
	
	
		
			103 lines
		
	
	
	
		
			2.8 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
	
		
			2.8 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * common-board-devices.c
 | |
|  *
 | |
|  * Copyright (C) 2011 CompuLab, Ltd.
 | |
|  * Author: Mike Rapoport <mike@compulab.co.il>
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU General Public License
 | |
|  * version 2 as published by the Free Software Foundation.
 | |
|  *
 | |
|  * This program is distributed in the hope that it will be useful, but
 | |
|  * WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|  * General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU General Public License
 | |
|  * along with this program; if not, write to the Free Software
 | |
|  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 | |
|  * 02110-1301 USA
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #include <linux/gpio.h>
 | |
| #include <linux/spi/spi.h>
 | |
| #include <linux/spi/ads7846.h>
 | |
| 
 | |
| #include <linux/platform_data/spi-omap2-mcspi.h>
 | |
| 
 | |
| #include "common.h"
 | |
| #include "common-board-devices.h"
 | |
| 
 | |
| #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
 | |
| 	defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
 | |
| static struct omap2_mcspi_device_config ads7846_mcspi_config = {
 | |
| 	.turbo_mode	= 0,
 | |
| };
 | |
| 
 | |
| static struct ads7846_platform_data ads7846_config = {
 | |
| 	.x_max			= 0x0fff,
 | |
| 	.y_max			= 0x0fff,
 | |
| 	.x_plate_ohms		= 180,
 | |
| 	.pressure_max		= 255,
 | |
| 	.debounce_max		= 10,
 | |
| 	.debounce_tol		= 3,
 | |
| 	.debounce_rep		= 1,
 | |
| 	.gpio_pendown		= -EINVAL,
 | |
| 	.keep_vref_on		= 1,
 | |
| };
 | |
| 
 | |
| static struct spi_board_info ads7846_spi_board_info __initdata = {
 | |
| 	.modalias		= "ads7846",
 | |
| 	.bus_num		= -EINVAL,
 | |
| 	.chip_select		= 0,
 | |
| 	.max_speed_hz		= 1500000,
 | |
| 	.controller_data	= &ads7846_mcspi_config,
 | |
| 	.irq			= -EINVAL,
 | |
| 	.platform_data		= &ads7846_config,
 | |
| };
 | |
| 
 | |
| void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
 | |
| 			      struct ads7846_platform_data *board_pdata)
 | |
| {
 | |
| 	struct spi_board_info *spi_bi = &ads7846_spi_board_info;
 | |
| 	int err;
 | |
| 
 | |
| 	/*
 | |
| 	 * If a board defines get_pendown_state() function, request the pendown
 | |
| 	 * GPIO and set the GPIO debounce time.
 | |
| 	 * If a board does not define the get_pendown_state() function, then
 | |
| 	 * the ads7846 driver will setup the pendown GPIO itself.
 | |
| 	 */
 | |
| 	if (board_pdata && board_pdata->get_pendown_state) {
 | |
| 		err = gpio_request_one(gpio_pendown, GPIOF_IN, "TSPenDown");
 | |
| 		if (err) {
 | |
| 			pr_err("Couldn't obtain gpio for TSPenDown: %d\n", err);
 | |
| 			return;
 | |
| 		}
 | |
| 
 | |
| 		if (gpio_debounce)
 | |
| 			gpio_set_debounce(gpio_pendown, gpio_debounce);
 | |
| 
 | |
| 		gpio_export(gpio_pendown, 0);
 | |
| 	}
 | |
| 
 | |
| 	spi_bi->bus_num	= bus_num;
 | |
| 	spi_bi->irq	= gpio_to_irq(gpio_pendown);
 | |
| 
 | |
| 	ads7846_config.gpio_pendown = gpio_pendown;
 | |
| 
 | |
| 	if (board_pdata) {
 | |
| 		board_pdata->gpio_pendown = gpio_pendown;
 | |
| 		board_pdata->gpio_pendown_debounce = gpio_debounce;
 | |
| 		spi_bi->platform_data = board_pdata;
 | |
| 	}
 | |
| 
 | |
| 	spi_register_board_info(&ads7846_spi_board_info, 1);
 | |
| }
 | |
| #else
 | |
| void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
 | |
| 			      struct ads7846_platform_data *board_pdata)
 | |
| {
 | |
| }
 | |
| #endif
 |