mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-17 12:00:35 +00:00
Move the gpib drivers out of staging and into the "real" part of the kernel. This entails: - Remove the gpib Kconfig menu and Makefile build rule from staging. - Remove gpib/uapi from the header file search path in subdir-ccflags of the gpib Makefile - move the gpib/uapi files to include/uapi/linux - Move the gpib tree out of staging to drivers. - Remove the word "Linux" from the gpib Kconfig file. - Add the gpib Kconfig menu and Makefile build rule to drivers Signed-off-by: Dave Penkler <dpenkler@gmail.com> Link: https://patch.msgid.link/20251117144021.23569-5-dpenkler@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
168 lines
4.2 KiB
C
168 lines
4.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
|
|
/***************************************************************************
|
|
* copyright : (C) 2002 by Frank Mori Hess
|
|
***************************************************************************/
|
|
|
|
#ifndef _GPIB_IOCTL_H
|
|
#define _GPIB_IOCTL_H
|
|
|
|
#include <asm/ioctl.h>
|
|
#include <linux/types.h>
|
|
|
|
#define GPIB_CODE 160
|
|
|
|
struct gpib_board_type_ioctl {
|
|
char name[100];
|
|
};
|
|
|
|
/* argument for read/write/command ioctls */
|
|
struct gpib_read_write_ioctl {
|
|
__u64 buffer_ptr;
|
|
__u32 requested_transfer_count;
|
|
__u32 completed_transfer_count;
|
|
__s32 end; /* end flag return for reads, end io suppression request for cmd*/
|
|
__s32 handle;
|
|
};
|
|
|
|
struct gpib_open_dev_ioctl {
|
|
__u32 handle;
|
|
__u32 pad;
|
|
__s32 sad;
|
|
__u32 is_board;
|
|
};
|
|
|
|
struct gpib_close_dev_ioctl {
|
|
__u32 handle;
|
|
};
|
|
|
|
struct gpib_serial_poll_ioctl {
|
|
__u32 pad;
|
|
__s32 sad;
|
|
__u8 status_byte;
|
|
__u8 padding[3]; /* align to 32 bit boundary */
|
|
};
|
|
|
|
struct gpib_eos_ioctl {
|
|
__s32 eos;
|
|
__s32 eos_flags;
|
|
};
|
|
|
|
struct gpib_wait_ioctl {
|
|
__s32 handle;
|
|
__s32 wait_mask;
|
|
__s32 clear_mask;
|
|
__s32 set_mask;
|
|
__s32 ibsta;
|
|
__s32 pad;
|
|
__s32 sad;
|
|
__u32 usec_timeout;
|
|
};
|
|
|
|
struct gpib_online_ioctl {
|
|
__u64 init_data_ptr;
|
|
__s32 init_data_length;
|
|
__s32 online;
|
|
};
|
|
|
|
struct gpib_spoll_bytes_ioctl {
|
|
__u32 num_bytes;
|
|
__u32 pad;
|
|
__s32 sad;
|
|
};
|
|
|
|
struct gpib_board_info_ioctl {
|
|
__u32 pad;
|
|
__s32 sad;
|
|
__s32 parallel_poll_configuration;
|
|
__s32 autopolling;
|
|
__s32 is_system_controller;
|
|
__u32 t1_delay;
|
|
unsigned ist : 1;
|
|
unsigned no_7_bit_eos : 1;
|
|
unsigned padding :30; /* align to 32 bit boundary */
|
|
};
|
|
|
|
struct gpib_select_pci_ioctl {
|
|
__s32 pci_bus;
|
|
__s32 pci_slot;
|
|
};
|
|
|
|
struct gpib_ppoll_config_ioctl {
|
|
__u8 config;
|
|
unsigned set_ist : 1;
|
|
unsigned clear_ist : 1;
|
|
unsigned padding :22; /* align to 32 bit boundary */
|
|
};
|
|
|
|
struct gpib_pad_ioctl {
|
|
__u32 handle;
|
|
__u32 pad;
|
|
};
|
|
|
|
struct gpib_sad_ioctl {
|
|
__u32 handle;
|
|
__s32 sad;
|
|
};
|
|
|
|
/* select a piece of hardware to attach by its sysfs device path */
|
|
struct gpib_select_device_path_ioctl {
|
|
char device_path[0x1000];
|
|
};
|
|
|
|
/* update status byte and request service */
|
|
struct gpib_request_service2 {
|
|
__u8 status_byte;
|
|
__u8 padding[3]; /* align to 32 bit boundary */
|
|
__s32 new_reason_for_service;
|
|
};
|
|
|
|
/* Standard functions. */
|
|
enum gpib_ioctl {
|
|
IBRD = _IOWR(GPIB_CODE, 100, struct gpib_read_write_ioctl),
|
|
IBWRT = _IOWR(GPIB_CODE, 101, struct gpib_read_write_ioctl),
|
|
IBCMD = _IOWR(GPIB_CODE, 102, struct gpib_read_write_ioctl),
|
|
IBOPENDEV = _IOWR(GPIB_CODE, 3, struct gpib_open_dev_ioctl),
|
|
IBCLOSEDEV = _IOW(GPIB_CODE, 4, struct gpib_close_dev_ioctl),
|
|
IBWAIT = _IOWR(GPIB_CODE, 5, struct gpib_wait_ioctl),
|
|
IBRPP = _IOWR(GPIB_CODE, 6, __u8),
|
|
|
|
IBSIC = _IOW(GPIB_CODE, 9, __u32),
|
|
IBSRE = _IOW(GPIB_CODE, 10, __s32),
|
|
IBGTS = _IO(GPIB_CODE, 11),
|
|
IBCAC = _IOW(GPIB_CODE, 12, __s32),
|
|
IBLINES = _IOR(GPIB_CODE, 14, __s16),
|
|
IBPAD = _IOW(GPIB_CODE, 15, struct gpib_pad_ioctl),
|
|
IBSAD = _IOW(GPIB_CODE, 16, struct gpib_sad_ioctl),
|
|
IBTMO = _IOW(GPIB_CODE, 17, __u32),
|
|
IBRSP = _IOWR(GPIB_CODE, 18, struct gpib_serial_poll_ioctl),
|
|
IBEOS = _IOW(GPIB_CODE, 19, struct gpib_eos_ioctl),
|
|
IBRSV = _IOW(GPIB_CODE, 20, __u8),
|
|
CFCBASE = _IOW(GPIB_CODE, 21, __u64),
|
|
CFCIRQ = _IOW(GPIB_CODE, 22, __u32),
|
|
CFCDMA = _IOW(GPIB_CODE, 23, __u32),
|
|
CFCBOARDTYPE = _IOW(GPIB_CODE, 24, struct gpib_board_type_ioctl),
|
|
|
|
IBMUTEX = _IOW(GPIB_CODE, 26, __s32),
|
|
IBSPOLL_BYTES = _IOWR(GPIB_CODE, 27, struct gpib_spoll_bytes_ioctl),
|
|
IBPPC = _IOW(GPIB_CODE, 28, struct gpib_ppoll_config_ioctl),
|
|
IBBOARD_INFO = _IOR(GPIB_CODE, 29, struct gpib_board_info_ioctl),
|
|
|
|
IBQUERY_BOARD_RSV = _IOR(GPIB_CODE, 31, __s32),
|
|
IBSELECT_PCI = _IOWR(GPIB_CODE, 32, struct gpib_select_pci_ioctl),
|
|
IBEVENT = _IOR(GPIB_CODE, 33, __s16),
|
|
IBRSC = _IOW(GPIB_CODE, 34, __s32),
|
|
IB_T1_DELAY = _IOW(GPIB_CODE, 35, __u32),
|
|
IBLOC = _IO(GPIB_CODE, 36),
|
|
|
|
IBAUTOSPOLL = _IOW(GPIB_CODE, 38, __s16),
|
|
IBONL = _IOW(GPIB_CODE, 39, struct gpib_online_ioctl),
|
|
IBPP2_SET = _IOW(GPIB_CODE, 40, __s16),
|
|
IBPP2_GET = _IOR(GPIB_CODE, 41, __s16),
|
|
IBSELECT_DEVICE_PATH = _IOW(GPIB_CODE, 43, struct gpib_select_device_path_ioctl),
|
|
/* 44 was IBSELECT_SERIAL_NUMBER */
|
|
IBRSV2 = _IOW(GPIB_CODE, 45, struct gpib_request_service2)
|
|
};
|
|
|
|
#endif /* _GPIB_IOCTL_H */
|