rfkill: Regulator consumer driver for rfkill
Add a regulator consumer driver for rfkill to enable controlling radio transmitters connected to voltage regulators using the regulator framework. A new "vrfkill" virtual supply is provided to use in platform code. Signed-off-by: Guiming Zhuo <gmzhuo@gmail.com> Signed-off-by: Antonio Ospite <ospite@studenti.unina.it> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
bb411b4db2
commit
cbc6a6ed09
48
include/linux/rfkill-regulator.h
Normal file
48
include/linux/rfkill-regulator.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* rfkill-regulator.c - Regulator consumer driver for rfkill
|
||||
*
|
||||
* Copyright (C) 2009 Guiming Zhuo <gmzhuo@gmail.com>
|
||||
* Copyright (C) 2011 Antonio Ospite <ospite@studenti.unina.it>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_RFKILL_REGULATOR_H
|
||||
#define __LINUX_RFKILL_REGULATOR_H
|
||||
|
||||
/*
|
||||
* Use "vrfkill" as supply id when declaring the regulator consumer:
|
||||
*
|
||||
* static struct regulator_consumer_supply pcap_regulator_V6_consumers [] = {
|
||||
* { .dev_name = "rfkill-regulator.0", .supply = "vrfkill" },
|
||||
* };
|
||||
*
|
||||
* If you have several regulator driven rfkill, you can append a numerical id to
|
||||
* .dev_name as done above, and use the same id when declaring the platform
|
||||
* device:
|
||||
*
|
||||
* static struct rfkill_regulator_platform_data ezx_rfkill_bt_data = {
|
||||
* .name = "ezx-bluetooth",
|
||||
* .type = RFKILL_TYPE_BLUETOOTH,
|
||||
* };
|
||||
*
|
||||
* static struct platform_device a910_rfkill = {
|
||||
* .name = "rfkill-regulator",
|
||||
* .id = 0,
|
||||
* .dev = {
|
||||
* .platform_data = &ezx_rfkill_bt_data,
|
||||
* },
|
||||
* };
|
||||
*/
|
||||
|
||||
#include <linux/rfkill.h>
|
||||
|
||||
struct rfkill_regulator_platform_data {
|
||||
char *name; /* the name for the rfkill switch */
|
||||
enum rfkill_type type; /* the type as specified in rfkill.h */
|
||||
};
|
||||
|
||||
#endif /* __LINUX_RFKILL_REGULATOR_H */
|
Reference in New Issue
Block a user