at for-next 1.8 kB view raw
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 */