linux/arch/x86/platform/intel-mid/device_libs/platform_emc1403.c
<<
>>
Prefs
   1/*
   2 * platform_emc1403.c: emc1403 platform data initilization file
   3 *
   4 * (C) Copyright 2013 Intel Corporation
   5 * Author: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@intel.com>
   6 *
   7 * This program is free software; you can redistribute it and/or
   8 * modify it under the terms of the GNU General Public License
   9 * as published by the Free Software Foundation; version 2
  10 * of the License.
  11 */
  12
  13#include <linux/init.h>
  14#include <linux/gpio.h>
  15#include <linux/i2c.h>
  16#include <asm/intel-mid.h>
  17
  18static void __init *emc1403_platform_data(void *info)
  19{
  20        static short intr2nd_pdata;
  21        struct i2c_board_info *i2c_info = info;
  22        int intr = get_gpio_by_name("thermal_int");
  23        int intr2nd = get_gpio_by_name("thermal_alert");
  24
  25        if (intr == -1 || intr2nd == -1)
  26                return NULL;
  27
  28        i2c_info->irq = intr + INTEL_MID_IRQ_OFFSET;
  29        intr2nd_pdata = intr2nd + INTEL_MID_IRQ_OFFSET;
  30
  31        return &intr2nd_pdata;
  32}
  33
  34static const struct devs_id emc1403_dev_id __initconst = {
  35        .name = "emc1403",
  36        .type = SFI_DEV_TYPE_I2C,
  37        .delay = 1,
  38        .get_platform_data = &emc1403_platform_data,
  39};
  40
  41sfi_device(emc1403_dev_id);
  42