Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (C) 2024, KEBA Industrial Automation Gmbh */
3
4#ifndef _LINUX_MISC_KEBA_H
5#define _LINUX_MISC_KEBA_H
6
7#include <linux/auxiliary_bus.h>
8
9struct i2c_board_info;
10struct spi_board_info;
11
12/**
13 * struct keba_i2c_auxdev - KEBA I2C auxiliary device
14 * @auxdev: auxiliary device object
15 * @io: address range of I2C controller IO memory
16 * @info_size: number of I2C devices to be probed
17 * @info: I2C devices to be probed
18 */
19struct keba_i2c_auxdev {
20 struct auxiliary_device auxdev;
21 struct resource io;
22 int info_size;
23 struct i2c_board_info *info;
24};
25
26/**
27 * struct keba_spi_auxdev - KEBA SPI auxiliary device
28 * @auxdev: auxiliary device object
29 * @io: address range of SPI controller IO memory
30 * @info_size: number of SPI devices to be probed
31 * @info: SPI devices to be probed
32 */
33struct keba_spi_auxdev {
34 struct auxiliary_device auxdev;
35 struct resource io;
36 int info_size;
37 struct spi_board_info *info;
38};
39
40/**
41 * struct keba_fan_auxdev - KEBA fan auxiliary device
42 * @auxdev: auxiliary device object
43 * @io: address range of fan controller IO memory
44 */
45struct keba_fan_auxdev {
46 struct auxiliary_device auxdev;
47 struct resource io;
48};
49
50/**
51 * struct keba_batt_auxdev - KEBA battery auxiliary device
52 * @auxdev: auxiliary device object
53 * @io: address range of battery controller IO memory
54 */
55struct keba_batt_auxdev {
56 struct auxiliary_device auxdev;
57 struct resource io;
58};
59
60/**
61 * struct keba_uart_auxdev - KEBA UART auxiliary device
62 * @auxdev: auxiliary device object
63 * @io: address range of UART controller IO memory
64 * @irq: number of UART controller interrupt
65 */
66struct keba_uart_auxdev {
67 struct auxiliary_device auxdev;
68 struct resource io;
69 unsigned int irq;
70};
71
72#endif /* _LINUX_MISC_KEBA_H */