1 /* 2 * Copyright (c) 2011, NVIDIA Corporation. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 * You should have received a copy of the GNU General Public License along 15 * with this program; if not, write to the Free Software Foundation, Inc., 16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 */ 18 19 20 #ifndef __RFKILL_GPIO_H 21 #define __RFKILL_GPIO_H 22 23 #include <linux/types.h> 24 #include <linux/rfkill.h> 25 26 /** 27 * struct rfkill_gpio_platform_data - platform data for rfkill gpio device. 28 * for unused gpio's, the expected value is -1. 29 * @name: name for the gpio rf kill instance 30 * @reset_gpio: GPIO which is used for reseting rfkill switch 31 * @shutdown_gpio: GPIO which is used for shutdown of rfkill switch 32 * @power_clk_name: [optional] name of clk to turn off while blocked 33 * @gpio_runtime_close: clean up platform specific gpio configuration 34 * @gpio_runtime_setup: set up platform specific gpio configuration 35 */ 36 37 struct rfkill_gpio_platform_data { 38 char *name; 39 int reset_gpio; 40 int shutdown_gpio; 41 const char *power_clk_name; 42 enum rfkill_type type; 43 void (*gpio_runtime_close)(struct platform_device *); 44 int (*gpio_runtime_setup)(struct platform_device *); 45 }; 46 47 #endif /* __RFKILL_GPIO_H */ 48