mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 10:04:12 +08:00
media: rc: auto load encoder if necessary
When sending scancodes, load the encoder if we need it. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
cdfaa01c1c
commit
0d39ab0b62
@ -261,6 +261,7 @@ void ir_raw_event_free(struct rc_dev *dev);
|
||||
void ir_raw_event_unregister(struct rc_dev *dev);
|
||||
int ir_raw_handler_register(struct ir_raw_handler *ir_raw_handler);
|
||||
void ir_raw_handler_unregister(struct ir_raw_handler *ir_raw_handler);
|
||||
void ir_raw_load_modules(u64 *protocols);
|
||||
void ir_raw_init(void);
|
||||
|
||||
/*
|
||||
|
@ -448,6 +448,8 @@ int ir_raw_encode_scancode(enum rc_proto protocol, u32 scancode,
|
||||
int ret = -EINVAL;
|
||||
u64 mask = 1ULL << protocol;
|
||||
|
||||
ir_raw_load_modules(&mask);
|
||||
|
||||
mutex_lock(&ir_raw_handler_lock);
|
||||
list_for_each_entry(handler, &ir_raw_handler_list, list) {
|
||||
if (handler->protocols & mask && handler->encode) {
|
||||
|
@ -1082,7 +1082,7 @@ static int parse_protocol_change(u64 *protocols, const char *buf)
|
||||
return count;
|
||||
}
|
||||
|
||||
static void ir_raw_load_modules(u64 *protocols)
|
||||
void ir_raw_load_modules(u64 *protocols)
|
||||
{
|
||||
u64 available;
|
||||
int i, ret;
|
||||
|
Loading…
Reference in New Issue
Block a user