On Fri, Jun 30, 2023 at 06:32:32PM +0800, Evan Quan wrote: ... > diff --git a/include/linux/wbrf.h b/include/linux/wbrf.h > new file mode 100644 > index 000000000000..3ca95786cef5 > --- /dev/null > +++ b/include/linux/wbrf.h > @@ -0,0 +1,65 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * Wifi Band Exclusion Interface > + * Copyright (C) 2023 Advanced Micro Devices > + */ > + > +#ifndef _LINUX_WBRF_H > +#define _LINUX_WBRF_H > + > +#include <linux/device.h> > + > +/* Maximum number of wbrf ranges */ > +#define MAX_NUM_OF_WBRF_RANGES 11 > + > +struct exclusion_range { > + /* start and end point of the frequency range in Hz */ > + uint64_t start; > + uint64_t end; > +}; > + > +struct exclusion_range_pool { > + struct exclusion_range band_list[MAX_NUM_OF_WBRF_RANGES]; > + uint64_t ref_counter[MAX_NUM_OF_WBRF_RANGES]; > +}; > + > +struct wbrf_ranges_in { > + /* valid entry: `start` and `end` filled with non-zero values */ > + struct exclusion_range band_list[MAX_NUM_OF_WBRF_RANGES]; > +}; > + > +struct wbrf_ranges_out { > + uint32_t num_of_ranges; > + struct exclusion_range band_list[MAX_NUM_OF_WBRF_RANGES]; > +} __packed; > + > +enum wbrf_notifier_actions { > + WBRF_CHANGED, > +}; Hi Evan, checkpatch suggests that u64 and u32 might be more appropriate types here, as they are Kernel types, whereas the ones use are user-space types. ...