blob: d3331804e401f08d9b8e293b78c1844e26e2cd7c [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifndef __LINUX_IRBLASTER_CONSUMER_H
#define __LINUX_IRBLASTER_CONSUMER_H
#include <linux/err.h>
#include <linux/mutex.h>
#include <linux/of.h>
struct irblaster_chip;
/* irblaster user APIs */
int irblaster_send(struct irblaster_chip *chip,
unsigned int *data,
unsigned int len);
int irblaster_set_freq(struct irblaster_chip *chip,
unsigned int freq);
unsigned int irblaster_get_freq(struct irblaster_chip *chip);
int irblaster_set_duty(struct irblaster_chip *chip, unsigned int duty);
unsigned int irblaster_get_duty(struct irblaster_chip *chip);
struct irblaster_chip *of_irblaster_get(struct device_node *np,
const char *con_id);
struct irblaster_chip *devm_of_irblaster_get(struct device *dev,
struct device_node *np,
const char *con_id);
void irblaster_put(struct irblaster_chip *chip);
#endif /* __LINUX_IRBLASTER_CONSUMER_H */