Skip to content

Commit

Permalink
[ARM] 4826/1: Orion: Register the RTC interrupt on the TS-209
Browse files Browse the repository at this point in the history
The QNAP TS-209 has its RTC interrupt on GPIO 3. Setup this
as an interrupt and pass it to the i2c_board_info.

Signed-off-by: Byron Bradley <byron.bbradley@gmail.com>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Byron Bradley authored and Russell King committed Feb 17, 2008
1 parent a0dd005 commit 59e8ce5
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions arch/arm/mach-orion/ts209-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,13 @@ static struct mv643xx_eth_platform_data qnap_ts209_eth_data = {
/*****************************************************************************
* RTC S35390A on I2C bus
****************************************************************************/

#define TS209_RTC_GPIO 3

static struct i2c_board_info __initdata qnap_ts209_i2c_rtc = {
.driver_name = "rtc-s35390a",
.addr = 0x30,
.irq = 0,
};

/****************************************************************************
Expand Down Expand Up @@ -328,7 +332,18 @@ static void __init qnap_ts209_init(void)

platform_add_devices(qnap_ts209_devices,
ARRAY_SIZE(qnap_ts209_devices));

/* Get RTC IRQ and register the chip */
if (gpio_request(TS209_RTC_GPIO, "rtc") == 0) {
if (gpio_direction_input(TS209_RTC_GPIO) == 0)
qnap_ts209_i2c_rtc.irq = gpio_to_irq(TS209_RTC_GPIO);
else
gpio_free(TS209_RTC_GPIO);
}
if (qnap_ts209_i2c_rtc.irq == 0)
pr_warning("qnap_ts209_init: failed to get RTC IRQ\n");
i2c_register_board_info(0, &qnap_ts209_i2c_rtc, 1);

orion_eth_init(&qnap_ts209_eth_data);
orion_sata_init(&qnap_ts209_sata_data);
}
Expand Down

0 comments on commit 59e8ce5

Please sign in to comment.