mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-14 03:15:21 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR. No conflicts. Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -15,7 +15,6 @@ extern int blk_pre_runtime_suspend(struct request_queue *q);
|
||||
extern void blk_post_runtime_suspend(struct request_queue *q, int err);
|
||||
extern void blk_pre_runtime_resume(struct request_queue *q);
|
||||
extern void blk_post_runtime_resume(struct request_queue *q);
|
||||
extern void blk_set_runtime_active(struct request_queue *q);
|
||||
#else
|
||||
static inline void blk_pm_runtime_init(struct request_queue *q,
|
||||
struct device *dev) {}
|
||||
|
||||
@@ -171,6 +171,25 @@ ssize_t debugfs_write_file_bool(struct file *file, const char __user *user_buf,
|
||||
ssize_t debugfs_read_file_str(struct file *file, char __user *user_buf,
|
||||
size_t count, loff_t *ppos);
|
||||
|
||||
/**
|
||||
* struct debugfs_cancellation - cancellation data
|
||||
* @list: internal, for keeping track
|
||||
* @cancel: callback to call
|
||||
* @cancel_data: extra data for the callback to call
|
||||
*/
|
||||
struct debugfs_cancellation {
|
||||
struct list_head list;
|
||||
void (*cancel)(struct dentry *, void *);
|
||||
void *cancel_data;
|
||||
};
|
||||
|
||||
void __acquires(cancellation)
|
||||
debugfs_enter_cancellation(struct file *file,
|
||||
struct debugfs_cancellation *cancellation);
|
||||
void __releases(cancellation)
|
||||
debugfs_leave_cancellation(struct file *file,
|
||||
struct debugfs_cancellation *cancellation);
|
||||
|
||||
#else
|
||||
|
||||
#include <linux/err.h>
|
||||
|
||||
@@ -679,6 +679,7 @@ struct hid_device { /* device report descriptor */
|
||||
struct list_head debug_list;
|
||||
spinlock_t debug_list_lock;
|
||||
wait_queue_head_t debug_wait;
|
||||
struct kref ref;
|
||||
|
||||
unsigned int id; /* system unique id */
|
||||
|
||||
@@ -687,6 +688,8 @@ struct hid_device { /* device report descriptor */
|
||||
#endif /* CONFIG_BPF */
|
||||
};
|
||||
|
||||
void hiddev_free(struct kref *ref);
|
||||
|
||||
#define to_hid_device(pdev) \
|
||||
container_of(pdev, struct hid_device, dev)
|
||||
|
||||
|
||||
@@ -2830,12 +2830,14 @@ ieee80211_he_oper_size(const u8 *he_oper_ie)
|
||||
static inline const struct ieee80211_he_6ghz_oper *
|
||||
ieee80211_he_6ghz_oper(const struct ieee80211_he_operation *he_oper)
|
||||
{
|
||||
const u8 *ret = (const void *)&he_oper->optional;
|
||||
const u8 *ret;
|
||||
u32 he_oper_params;
|
||||
|
||||
if (!he_oper)
|
||||
return NULL;
|
||||
|
||||
ret = (const void *)&he_oper->optional;
|
||||
|
||||
he_oper_params = le32_to_cpu(he_oper->he_oper_params);
|
||||
|
||||
if (!(he_oper_params & IEEE80211_HE_OPERATION_6GHZ_OP_INFO))
|
||||
|
||||
@@ -204,6 +204,8 @@ enum mapping_flags {
|
||||
AS_NO_WRITEBACK_TAGS = 5,
|
||||
AS_LARGE_FOLIO_SUPPORT = 6,
|
||||
AS_RELEASE_ALWAYS, /* Call ->release_folio(), even if no private data */
|
||||
AS_STABLE_WRITES, /* must wait for writeback before modifying
|
||||
folio contents */
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -289,6 +291,21 @@ static inline void mapping_clear_release_always(struct address_space *mapping)
|
||||
clear_bit(AS_RELEASE_ALWAYS, &mapping->flags);
|
||||
}
|
||||
|
||||
static inline bool mapping_stable_writes(const struct address_space *mapping)
|
||||
{
|
||||
return test_bit(AS_STABLE_WRITES, &mapping->flags);
|
||||
}
|
||||
|
||||
static inline void mapping_set_stable_writes(struct address_space *mapping)
|
||||
{
|
||||
set_bit(AS_STABLE_WRITES, &mapping->flags);
|
||||
}
|
||||
|
||||
static inline void mapping_clear_stable_writes(struct address_space *mapping)
|
||||
{
|
||||
clear_bit(AS_STABLE_WRITES, &mapping->flags);
|
||||
}
|
||||
|
||||
static inline gfp_t mapping_gfp_mask(struct address_space * mapping)
|
||||
{
|
||||
return mapping->gfp_mask;
|
||||
|
||||
@@ -106,6 +106,7 @@ struct sk_psock {
|
||||
struct mutex work_mutex;
|
||||
struct sk_psock_work_state work_state;
|
||||
struct delayed_work work;
|
||||
struct sock *sk_pair;
|
||||
struct rcu_work rwork;
|
||||
};
|
||||
|
||||
|
||||
@@ -144,10 +144,6 @@ struct usb_phy {
|
||||
*/
|
||||
int (*set_wakeup)(struct usb_phy *x, bool enabled);
|
||||
|
||||
/* notify phy port status change */
|
||||
int (*notify_port_status)(struct usb_phy *x, int port,
|
||||
u16 portstatus, u16 portchange);
|
||||
|
||||
/* notify phy connect status change */
|
||||
int (*notify_connect)(struct usb_phy *x,
|
||||
enum usb_device_speed speed);
|
||||
@@ -320,15 +316,6 @@ usb_phy_set_wakeup(struct usb_phy *x, bool enabled)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
usb_phy_notify_port_status(struct usb_phy *x, int port, u16 portstatus, u16 portchange)
|
||||
{
|
||||
if (x && x->notify_port_status)
|
||||
return x->notify_port_status(x, port, portstatus, portchange);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int
|
||||
usb_phy_notify_connect(struct usb_phy *x, enum usb_device_speed speed)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user