mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
cbc6a6ed09
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>
48 lines
1.4 KiB
C
48 lines
1.4 KiB
C
/*
|
|
* 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 */
|