/* * Copyright (c) 2012 Qualcomm Atheros, Inc. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ struct ath6kl_reg_data { /* Regulator Name */ const char *name; /* voltage level at which AR chip can operate */ u32 low_vol_level; u32 high_vol_level; /* Current which will be drawn from regulator (Worst case( */ u32 load_uA; /* Time for this operation to next */ int delay_mT; /* Is this regulator required */ bool is_required; /* Voltage regulator handle */ struct regulator *reg; }; struct ath6kl_gpio_data { int chip_pwd_l_gpio; int pm_enable_gpio; int wlan_clk_req_gpio; }; struct ath6kl_platform_data { struct platform_device *pdev; struct ath6kl_gpio_data gpio_data; struct ath6kl_reg_data *reg_table; u32 reg_table_size; }; int ath6kl_platform_driver_register(void); void ath6kl_platform_driver_unregister(void); void ath6kl_hsic_bind(int bind); void ath6kl_recover_firmware(void);