Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (212 commits) [ARM] pxa: Phycore pcm-990-specific code for the PXA270 Quick Capture driver [ARM] pxa: V4L2 soc_camera driver for PXA270 [ARM] pxa: restrict availability of pxa2xx PCMCIA drivers [ARM] 5005/1: BAST: Fix kset_name initialiser [ARM] 4967/1: Adds functions to set clkout rate for Samsung S3C2410 [ARM] 4988/1: Add GPIO lib support to the EP93xx [ARM] Add initial sparsemem support [ARM] pxa: initialise PXA devices before platform init code [ARM] 5002/1: tosa: add two more leds [ARM] 5004/1: Tosa: make several unreferenced structures static. [ARM] 5003/1: Shut up sparse warnings [ARM] 4977/2: soc - pxa2xx-ac97 - Add missing clk_enable() [ARM] 4976/1: zylonite: Configure GPIO for WM9713 IRQ line [ARM] 4974/1: Drop unused leds-tosa. [ARM] 4973/1: Tosa: use leds-gpio driver. [ARM] 4972/1: Tosa: convert scoop GPIOs usage to generic gpio code [ARM] 4971/1: pxaficp_ir: provide startup and shutdown hooks [ARM] pxa: lubbock: move mis-placed SPI info [ARM] 4970/1: tosa: correct gpio used for wake up. [ARM] 4966/1: magician: add MFP pin configuration ...
This commit is contained in:
@@ -27,7 +27,10 @@ extern int __devexit __pata_platform_remove(struct device *dev);
|
||||
/*
|
||||
* Marvell SATA private data
|
||||
*/
|
||||
struct mbus_dram_target_info;
|
||||
|
||||
struct mv_sata_platform_data {
|
||||
struct mbus_dram_target_info *dram;
|
||||
int n_ports; /* number of sata ports */
|
||||
};
|
||||
|
||||
|
@@ -152,5 +152,35 @@ extern int tps65010_config_vregs1(unsigned value);
|
||||
*/
|
||||
extern int tps65013_set_low_pwr(unsigned mode);
|
||||
|
||||
|
||||
struct i2c_client;
|
||||
|
||||
/**
|
||||
* struct tps65010_board - packages GPIO and LED lines
|
||||
* @base: the GPIO number to assign to GPIO-1
|
||||
* @outmask: bit (N-1) is set to allow GPIO-N to be used as an
|
||||
* (open drain) output
|
||||
* @setup: optional callback issued once the GPIOs are valid
|
||||
* @teardown: optional callback issued before the GPIOs are invalidated
|
||||
* @context: optional parameter passed to setup() and teardown()
|
||||
*
|
||||
* Board data may be used to package the GPIO (and LED) lines for use
|
||||
* in by the generic GPIO and LED frameworks. The first four GPIOs
|
||||
* starting at gpio_base are GPIO1..GPIO4. The next two are LED1/nPG
|
||||
* and LED2 (with hardware blinking capability, not currently exposed).
|
||||
*
|
||||
* The @setup callback may be used with the kind of board-specific glue
|
||||
* which hands the (now-valid) GPIOs to other drivers, or which puts
|
||||
* devices in their initial states using these GPIOs.
|
||||
*/
|
||||
struct tps65010_board {
|
||||
int base;
|
||||
unsigned outmask;
|
||||
|
||||
int (*setup)(struct i2c_client *client, void *context);
|
||||
int (*teardown)(struct i2c_client *client, void *context);
|
||||
void *context;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_I2C_TPS65010_H */
|
||||
|
||||
|
36
include/linux/mbus.h
Normal file
36
include/linux/mbus.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Marvell MBUS common definitions.
|
||||
*
|
||||
* Copyright (C) 2008 Marvell Semiconductor
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_MBUS_H
|
||||
#define __LINUX_MBUS_H
|
||||
|
||||
struct mbus_dram_target_info
|
||||
{
|
||||
/*
|
||||
* The 4-bit MBUS target ID of the DRAM controller.
|
||||
*/
|
||||
u8 mbus_dram_target_id;
|
||||
|
||||
/*
|
||||
* The base address, size, and MBUS attribute ID for each
|
||||
* of the possible DRAM chip selects. Peripherals are
|
||||
* required to support at least 4 decode windows.
|
||||
*/
|
||||
int num_cs;
|
||||
struct mbus_dram_window {
|
||||
u8 cs_index;
|
||||
u8 mbus_attr;
|
||||
u32 base;
|
||||
u32 size;
|
||||
} cs[4];
|
||||
};
|
||||
|
||||
|
||||
#endif
|
57
include/linux/mfd/htc-egpio.h
Normal file
57
include/linux/mfd/htc-egpio.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* HTC simple EGPIO irq and gpio extender
|
||||
*/
|
||||
|
||||
#ifndef __HTC_EGPIO_H__
|
||||
#define __HTC_EGPIO_H__
|
||||
|
||||
#include <linux/gpio.h>
|
||||
|
||||
/* Descriptive values for all-in or all-out htc_egpio_chip descriptors. */
|
||||
#define HTC_EGPIO_OUTPUT (~0)
|
||||
#define HTC_EGPIO_INPUT 0
|
||||
|
||||
/**
|
||||
* struct htc_egpio_chip - descriptor to create gpio_chip for register range
|
||||
* @reg_start: index of first register
|
||||
* @gpio_base: gpio number of first pin in this register range
|
||||
* @num_gpios: number of gpios in this register range, max BITS_PER_LONG
|
||||
* (number of registers = DIV_ROUND_UP(num_gpios, reg_width))
|
||||
* @direction: bitfield, '0' = input, '1' = output,
|
||||
*/
|
||||
struct htc_egpio_chip {
|
||||
int reg_start;
|
||||
int gpio_base;
|
||||
int num_gpios;
|
||||
unsigned long direction;
|
||||
unsigned long initial_values;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct htc_egpio_platform_data - description provided by the arch
|
||||
* @irq_base: beginning of available IRQs (eg, IRQ_BOARD_START)
|
||||
* @num_irqs: number of irqs
|
||||
* @reg_width: number of bits per register, either 8 or 16 bit
|
||||
* @bus_width: alignment of the registers, either 16 or 32 bit
|
||||
* @invert_acks: set if chip requires writing '0' to ack an irq, instead of '1'
|
||||
* @ack_register: location of the irq/ack register
|
||||
* @chip: pointer to array of htc_egpio_chip descriptors
|
||||
* @num_chips: number of egpio chip descriptors
|
||||
*/
|
||||
struct htc_egpio_platform_data {
|
||||
int bus_width;
|
||||
int reg_width;
|
||||
|
||||
int irq_base;
|
||||
int num_irqs;
|
||||
int invert_acks;
|
||||
int ack_register;
|
||||
|
||||
struct htc_egpio_chip *chip;
|
||||
int num_chips;
|
||||
};
|
||||
|
||||
/* Determine the wakeup irq, to be called during early resume */
|
||||
extern int htc_egpio_get_wakeup_irq(struct device *dev);
|
||||
|
||||
#endif
|
55
include/linux/mfd/htc-pasic3.h
Normal file
55
include/linux/mfd/htc-pasic3.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* HTC PASIC3 driver - LEDs and DS1WM
|
||||
*
|
||||
* Copyright (c) 2007 Philipp Zabel <philipp.zabel@gmail.com>
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive for
|
||||
* more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __PASIC3_H
|
||||
#define __PASIC3_H
|
||||
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/leds.h>
|
||||
|
||||
extern void pasic3_write_register(struct device *dev, u32 reg, u8 val);
|
||||
extern u8 pasic3_read_register(struct device *dev, u32 reg);
|
||||
|
||||
/*
|
||||
* mask for registers 0x20,0x21,0x22
|
||||
*/
|
||||
#define PASIC3_MASK_LED0 0x04
|
||||
#define PASIC3_MASK_LED1 0x08
|
||||
#define PASIC3_MASK_LED2 0x40
|
||||
|
||||
/*
|
||||
* bits in register 0x06
|
||||
*/
|
||||
#define PASIC3_BIT2_LED0 0x08
|
||||
#define PASIC3_BIT2_LED1 0x10
|
||||
#define PASIC3_BIT2_LED2 0x20
|
||||
|
||||
struct pasic3_led {
|
||||
struct led_classdev led;
|
||||
unsigned int hw_num;
|
||||
unsigned int bit2;
|
||||
unsigned int mask;
|
||||
struct pasic3_leds_machinfo *pdata;
|
||||
};
|
||||
|
||||
struct pasic3_leds_machinfo {
|
||||
unsigned int num_leds;
|
||||
unsigned int power_gpio;
|
||||
struct pasic3_led *leds;
|
||||
};
|
||||
|
||||
struct pasic3_platform_data {
|
||||
struct pasic3_leds_machinfo *led_pdata;
|
||||
unsigned int bus_shift;
|
||||
unsigned int clock_rate;
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user