kernel-ark/include/linux/rfkill-regulator.h
Antonio Ospite cbc6a6ed09 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>
2011-04-19 15:38:02 -04:00

49 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 */