Merge tag 'char-misc-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull Char/Misc/IIO driver updates from Greg KH:
 "Here is the "big" set of char/misc/iio and other smaller driver
  subsystem updates for 6.14-rc1. Loads of different things in here this
  development cycle, highlights are:

   - ntsync "driver" to handle Windows locking types enabling Wine to
     work much better on many workloads (i.e. games). The driver
     framework was in 6.13, but now it's enabled and fully working
     properly. Should make many SteamOS users happy. Even comes with
     tests!

   - Large IIO driver updates and bugfixes

   - FPGA driver updates

   - Coresight driver updates

   - MHI driver updates

   - PPS driver updatesa

   - const bin_attribute reworking for many drivers

   - binder driver updates

   - smaller driver updates and fixes

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'char-misc-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (311 commits)
  ntsync: Fix reference leaks in the remaining create ioctls.
  spmi: hisi-spmi-controller: Drop duplicated OF node assignment in spmi_controller_probe()
  spmi: Set fwnode for spmi devices
  ntsync: fix a file reference leak in drivers/misc/ntsync.c
  scripts/tags.sh: Don't tag usages of DECLARE_BITMAP
  dt-bindings: interconnect: qcom,msm8998-bwmon: Add SM8750 CPU BWMONs
  dt-bindings: interconnect: OSM L3: Document sm8650 OSM L3 compatible
  dt-bindings: interconnect: qcom-bwmon: Document QCS615 bwmon compatibles
  interconnect: sm8750: Add missing const to static qcom_icc_desc
  memstick: core: fix kernel-doc notation
  intel_th: core: fix kernel-doc warnings
  binder: log transaction code on failure
  iio: dac: ad3552r-hs: clear reset status flag
  iio: dac: ad3552r-common: fix ad3541/2r ranges
  iio: chemical: bme680: Fix uninitialized variable in __bme680_read_raw()
  misc: fastrpc: Fix copy buffer page size
  misc: fastrpc: Fix registered buffer page address
  misc: fastrpc: Deregister device nodes properly in error scenarios
  nvmem: core: improve range check for nvmem_cell_write()
  nvmem: qcom-spmi-sdam: Set size in struct nvmem_config
  ...
This commit is contained in:
Linus Torvalds
2025-01-27 16:51:51 -08:00
300 changed files with 12442 additions and 4550 deletions

View File

@@ -11,13 +11,49 @@
#include <linux/types.h>
struct ntsync_sem_args {
__u32 sem;
__u32 count;
__u32 max;
};
#define NTSYNC_IOC_CREATE_SEM _IOWR('N', 0x80, struct ntsync_sem_args)
struct ntsync_mutex_args {
__u32 owner;
__u32 count;
};
#define NTSYNC_IOC_SEM_POST _IOWR('N', 0x81, __u32)
struct ntsync_event_args {
__u32 manual;
__u32 signaled;
};
#define NTSYNC_WAIT_REALTIME 0x1
struct ntsync_wait_args {
__u64 timeout;
__u64 objs;
__u32 count;
__u32 index;
__u32 flags;
__u32 owner;
__u32 alert;
__u32 pad;
};
#define NTSYNC_MAX_WAIT_COUNT 64
#define NTSYNC_IOC_CREATE_SEM _IOW ('N', 0x80, struct ntsync_sem_args)
#define NTSYNC_IOC_WAIT_ANY _IOWR('N', 0x82, struct ntsync_wait_args)
#define NTSYNC_IOC_WAIT_ALL _IOWR('N', 0x83, struct ntsync_wait_args)
#define NTSYNC_IOC_CREATE_MUTEX _IOW ('N', 0x84, struct ntsync_mutex_args)
#define NTSYNC_IOC_CREATE_EVENT _IOW ('N', 0x87, struct ntsync_event_args)
#define NTSYNC_IOC_SEM_RELEASE _IOWR('N', 0x81, __u32)
#define NTSYNC_IOC_MUTEX_UNLOCK _IOWR('N', 0x85, struct ntsync_mutex_args)
#define NTSYNC_IOC_MUTEX_KILL _IOW ('N', 0x86, __u32)
#define NTSYNC_IOC_EVENT_SET _IOR ('N', 0x88, __u32)
#define NTSYNC_IOC_EVENT_RESET _IOR ('N', 0x89, __u32)
#define NTSYNC_IOC_EVENT_PULSE _IOR ('N', 0x8a, __u32)
#define NTSYNC_IOC_SEM_READ _IOR ('N', 0x8b, struct ntsync_sem_args)
#define NTSYNC_IOC_MUTEX_READ _IOR ('N', 0x8c, struct ntsync_mutex_args)
#define NTSYNC_IOC_EVENT_READ _IOR ('N', 0x8d, struct ntsync_event_args)
#endif

View File

@@ -0,0 +1,37 @@
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* PPS generator API header
*
* Copyright (C) 2024 Rodolfo Giometti <giometti@enneenne.com>
*/
#ifndef _PPS_GEN_H_
#define _PPS_GEN_H_
#include <linux/types.h>
#include <linux/ioctl.h>
/**
* struct pps_gen_event - the PPS generator events
* @event: the event type
* @sequence: the event sequence number
*
* Userspace can get the last PPS generator event by using the
* ioctl(pps_gen, PPS_GEN_FETCHEVENT, ...) syscall.
* The sequence field can be used to save the last event ID, while in the
* event field is stored the last event type. Currently known event is:
*
* PPS_GEN_EVENT_MISSEDPULSE : last pulse was not generated
*/
struct pps_gen_event {
unsigned int event;
unsigned int sequence;
};
#define PPS_GEN_EVENT_MISSEDPULSE 1
#define PPS_GEN_SETENABLE _IOW('p', 0xb1, unsigned int *)
#define PPS_GEN_USESYSTEMCLOCK _IOR('p', 0xb2, unsigned int *)
#define PPS_GEN_FETCHEVENT _IOR('p', 0xb3, struct pps_gen_event *)
#endif /* _PPS_GEN_H_ */