mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: refresh 6.1 patches
Fixes: 718ac37
("kernel: bump 6.1 to 6.1.111")
Closed: #12487
This commit is contained in:
parent
6dc420855a
commit
801f345131
@ -294,7 +294,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
|
|
||||||
VM_WARN_ON_ONCE(!list_empty(list));
|
VM_WARN_ON_ONCE(!list_empty(list));
|
||||||
@@ -5249,7 +5249,7 @@ done:
|
@@ -5248,7 +5248,7 @@ done:
|
||||||
|
|
||||||
static bool __maybe_unused state_is_valid(struct lruvec *lruvec)
|
static bool __maybe_unused state_is_valid(struct lruvec *lruvec)
|
||||||
{
|
{
|
||||||
@ -303,7 +303,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
if (lrugen->enabled) {
|
if (lrugen->enabled) {
|
||||||
enum lru_list lru;
|
enum lru_list lru;
|
||||||
@@ -5531,7 +5531,7 @@ static void lru_gen_seq_show_full(struct
|
@@ -5530,7 +5530,7 @@ static void lru_gen_seq_show_full(struct
|
||||||
int i;
|
int i;
|
||||||
int type, tier;
|
int type, tier;
|
||||||
int hist = lru_hist_from_seq(seq);
|
int hist = lru_hist_from_seq(seq);
|
||||||
@ -312,7 +312,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
for (tier = 0; tier < MAX_NR_TIERS; tier++) {
|
for (tier = 0; tier < MAX_NR_TIERS; tier++) {
|
||||||
seq_printf(m, " %10d", tier);
|
seq_printf(m, " %10d", tier);
|
||||||
@@ -5581,7 +5581,7 @@ static int lru_gen_seq_show(struct seq_f
|
@@ -5580,7 +5580,7 @@ static int lru_gen_seq_show(struct seq_f
|
||||||
unsigned long seq;
|
unsigned long seq;
|
||||||
bool full = !debugfs_real_fops(m->file)->write;
|
bool full = !debugfs_real_fops(m->file)->write;
|
||||||
struct lruvec *lruvec = v;
|
struct lruvec *lruvec = v;
|
||||||
@ -321,7 +321,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
int nid = lruvec_pgdat(lruvec)->node_id;
|
int nid = lruvec_pgdat(lruvec)->node_id;
|
||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
DEFINE_MAX_SEQ(lruvec);
|
DEFINE_MAX_SEQ(lruvec);
|
||||||
@@ -5835,7 +5835,7 @@ void lru_gen_init_lruvec(struct lruvec *
|
@@ -5834,7 +5834,7 @@ void lru_gen_init_lruvec(struct lruvec *
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int gen, type, zone;
|
int gen, type, zone;
|
||||||
|
@ -76,7 +76,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
int scanned;
|
int scanned;
|
||||||
@@ -5095,9 +5104,6 @@ retry:
|
@@ -5094,9 +5103,6 @@ retry:
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
return scanned;
|
return scanned;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5136,67 +5142,26 @@ done:
|
@@ -5135,67 +5141,26 @@ done:
|
||||||
return min_seq[!can_swap] + MIN_NR_GENS <= max_seq ? nr_to_scan : 0;
|
return min_seq[!can_swap] + MIN_NR_GENS <= max_seq ? nr_to_scan : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
lru_add_drain();
|
lru_add_drain();
|
||||||
|
|
||||||
@@ -5220,7 +5185,7 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5219,7 +5184,7 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
if (!nr_to_scan)
|
if (!nr_to_scan)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
if (!delta)
|
if (!delta)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
@@ -5228,7 +5193,7 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5227,7 +5192,7 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
if (scanned >= nr_to_scan)
|
if (scanned >= nr_to_scan)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -181,7 +181,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
cond_resched();
|
cond_resched();
|
||||||
@@ -5678,7 +5643,7 @@ static int run_eviction(struct lruvec *l
|
@@ -5677,7 +5642,7 @@ static int run_eviction(struct lruvec *l
|
||||||
if (sc->nr_reclaimed >= nr_to_reclaim)
|
if (sc->nr_reclaimed >= nr_to_reclaim)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
*/
|
*/
|
||||||
if (mutex_trylock(&oom_lock)) {
|
if (mutex_trylock(&oom_lock)) {
|
||||||
struct oom_control oc = {
|
struct oom_control oc = {
|
||||||
@@ -5113,33 +5117,27 @@ retry:
|
@@ -5112,33 +5116,27 @@ retry:
|
||||||
* reclaim.
|
* reclaim.
|
||||||
*/
|
*/
|
||||||
static unsigned long get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc,
|
static unsigned long get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc,
|
||||||
@ -254,7 +254,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
||||||
@@ -5158,9 +5156,7 @@ static unsigned long get_nr_to_reclaim(s
|
@@ -5157,9 +5155,7 @@ static unsigned long get_nr_to_reclaim(s
|
||||||
static void lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
static void lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
||||||
{
|
{
|
||||||
struct blk_plug plug;
|
struct blk_plug plug;
|
||||||
@ -264,7 +264,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
||||||
|
|
||||||
lru_add_drain();
|
lru_add_drain();
|
||||||
@@ -5181,13 +5177,13 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5180,13 +5176,13 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
else
|
else
|
||||||
swappiness = 0;
|
swappiness = 0;
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
scanned += delta;
|
scanned += delta;
|
||||||
if (scanned >= nr_to_scan)
|
if (scanned >= nr_to_scan)
|
||||||
@@ -5199,10 +5195,6 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5198,10 +5194,6 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
cond_resched();
|
cond_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
static bool lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc)
|
static bool lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc)
|
||||||
{
|
{
|
||||||
int gen, type, zone;
|
int gen, type, zone;
|
||||||
@@ -5111,6 +5049,68 @@ retry:
|
@@ -5110,6 +5048,68 @@ retry:
|
||||||
return scanned;
|
return scanned;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,7 +335,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
if (order > 0)
|
if (order > 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@@ -5387,6 +5400,7 @@ static int mem_cgroup_css_online(struct
|
@@ -5408,6 +5421,7 @@ static int mem_cgroup_css_online(struct
|
||||||
if (unlikely(mem_cgroup_is_root(memcg)))
|
if (unlikely(mem_cgroup_is_root(memcg)))
|
||||||
queue_delayed_work(system_unbound_wq, &stats_flush_dwork,
|
queue_delayed_work(system_unbound_wq, &stats_flush_dwork,
|
||||||
2UL*HZ);
|
2UL*HZ);
|
||||||
@ -343,7 +343,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
return 0;
|
return 0;
|
||||||
offline_kmem:
|
offline_kmem:
|
||||||
memcg_offline_kmem(memcg);
|
memcg_offline_kmem(memcg);
|
||||||
@@ -5418,6 +5432,7 @@ static void mem_cgroup_css_offline(struc
|
@@ -5439,6 +5453,7 @@ static void mem_cgroup_css_offline(struc
|
||||||
memcg_offline_kmem(memcg);
|
memcg_offline_kmem(memcg);
|
||||||
reparent_shrinker_deferred(memcg);
|
reparent_shrinker_deferred(memcg);
|
||||||
wb_memcg_offline(memcg);
|
wb_memcg_offline(memcg);
|
||||||
@ -351,7 +351,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
drain_all_stock(memcg);
|
drain_all_stock(memcg);
|
||||||
|
|
||||||
@@ -5429,6 +5444,7 @@ static void mem_cgroup_css_released(stru
|
@@ -5450,6 +5465,7 @@ static void mem_cgroup_css_released(stru
|
||||||
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
|
struct mem_cgroup *memcg = mem_cgroup_from_css(css);
|
||||||
|
|
||||||
invalidate_reclaim_iterators(memcg);
|
invalidate_reclaim_iterators(memcg);
|
||||||
@ -361,7 +361,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
static void mem_cgroup_css_free(struct cgroup_subsys_state *css)
|
static void mem_cgroup_css_free(struct cgroup_subsys_state *css)
|
||||||
--- a/mm/page_alloc.c
|
--- a/mm/page_alloc.c
|
||||||
+++ b/mm/page_alloc.c
|
+++ b/mm/page_alloc.c
|
||||||
@@ -7949,6 +7949,7 @@ static void __init free_area_init_node(i
|
@@ -7956,6 +7956,7 @@ static void __init free_area_init_node(i
|
||||||
pgdat_set_deferred_range(pgdat);
|
pgdat_set_deferred_range(pgdat);
|
||||||
|
|
||||||
free_area_init_core(pgdat);
|
free_area_init_core(pgdat);
|
||||||
@ -421,7 +421,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/* check the order to exclude compaction-induced reclaim */
|
/* check the order to exclude compaction-induced reclaim */
|
||||||
if (!min_ttl || sc->order || sc->priority == DEF_PRIORITY)
|
if (!min_ttl || sc->order || sc->priority == DEF_PRIORITY)
|
||||||
return;
|
return;
|
||||||
@@ -5116,8 +5113,7 @@ static bool should_run_aging(struct lruv
|
@@ -5115,8 +5112,7 @@ static bool should_run_aging(struct lruv
|
||||||
* 1. Defer try_to_inc_max_seq() to workqueues to reduce latency for memcg
|
* 1. Defer try_to_inc_max_seq() to workqueues to reduce latency for memcg
|
||||||
* reclaim.
|
* reclaim.
|
||||||
*/
|
*/
|
||||||
@ -431,7 +431,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
{
|
{
|
||||||
unsigned long nr_to_scan;
|
unsigned long nr_to_scan;
|
||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
@@ -5134,10 +5130,8 @@ static unsigned long get_nr_to_scan(stru
|
@@ -5133,10 +5129,8 @@ static unsigned long get_nr_to_scan(stru
|
||||||
if (sc->priority == DEF_PRIORITY)
|
if (sc->priority == DEF_PRIORITY)
|
||||||
return nr_to_scan;
|
return nr_to_scan;
|
||||||
|
|
||||||
@ -443,7 +443,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
static unsigned long get_nr_to_reclaim(struct scan_control *sc)
|
||||||
@@ -5146,29 +5140,18 @@ static unsigned long get_nr_to_reclaim(s
|
@@ -5145,29 +5139,18 @@ static unsigned long get_nr_to_reclaim(s
|
||||||
if (!global_reclaim(sc))
|
if (!global_reclaim(sc))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -475,7 +475,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
if (sc->may_swap)
|
if (sc->may_swap)
|
||||||
swappiness = get_swappiness(lruvec, sc);
|
swappiness = get_swappiness(lruvec, sc);
|
||||||
@@ -5178,7 +5161,7 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5177,7 +5160,7 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
swappiness = 0;
|
swappiness = 0;
|
||||||
|
|
||||||
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
||||||
@ -484,7 +484,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
delta = evict_folios(lruvec, sc, swappiness);
|
delta = evict_folios(lruvec, sc, swappiness);
|
||||||
@@ -5195,10 +5178,251 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5194,10 +5177,251 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
cond_resched();
|
cond_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -736,7 +736,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* state change
|
* state change
|
||||||
@@ -5656,11 +5880,11 @@ static int run_cmd(char cmd, int memcg_i
|
@@ -5655,11 +5879,11 @@ static int run_cmd(char cmd, int memcg_i
|
||||||
|
|
||||||
if (!mem_cgroup_disabled()) {
|
if (!mem_cgroup_disabled()) {
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
@ -751,7 +751,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
|
||||||
if (!memcg)
|
if (!memcg)
|
||||||
@@ -5808,6 +6032,19 @@ void lru_gen_init_lruvec(struct lruvec *
|
@@ -5807,6 +6031,19 @@ void lru_gen_init_lruvec(struct lruvec *
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_MEMCG
|
#ifdef CONFIG_MEMCG
|
||||||
@ -771,7 +771,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
void lru_gen_init_memcg(struct mem_cgroup *memcg)
|
void lru_gen_init_memcg(struct mem_cgroup *memcg)
|
||||||
{
|
{
|
||||||
INIT_LIST_HEAD(&memcg->mm_list.fifo);
|
INIT_LIST_HEAD(&memcg->mm_list.fifo);
|
||||||
@@ -5831,7 +6068,69 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -5830,7 +6067,69 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -842,7 +842,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
static int __init init_lru_gen(void)
|
static int __init init_lru_gen(void)
|
||||||
{
|
{
|
||||||
@@ -5858,6 +6157,10 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5857,6 +6156,10 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -853,7 +853,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
#endif /* CONFIG_LRU_GEN */
|
#endif /* CONFIG_LRU_GEN */
|
||||||
|
|
||||||
static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
|
||||||
@@ -5871,7 +6174,7 @@ static void shrink_lruvec(struct lruvec
|
@@ -5870,7 +6173,7 @@ static void shrink_lruvec(struct lruvec
|
||||||
bool proportional_reclaim;
|
bool proportional_reclaim;
|
||||||
struct blk_plug plug;
|
struct blk_plug plug;
|
||||||
|
|
||||||
@ -862,7 +862,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
lru_gen_shrink_lruvec(lruvec, sc);
|
lru_gen_shrink_lruvec(lruvec, sc);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -6114,6 +6417,11 @@ static void shrink_node(pg_data_t *pgdat
|
@@ -6113,6 +6416,11 @@ static void shrink_node(pg_data_t *pgdat
|
||||||
struct lruvec *target_lruvec;
|
struct lruvec *target_lruvec;
|
||||||
bool reclaimable = false;
|
bool reclaimable = false;
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
*/
|
*/
|
||||||
return isolated || !remaining ? scanned : 0;
|
return isolated || !remaining ? scanned : 0;
|
||||||
}
|
}
|
||||||
@@ -5119,8 +5115,7 @@ static long get_nr_to_scan(struct lruvec
|
@@ -5118,8 +5114,7 @@ static long get_nr_to_scan(struct lruvec
|
||||||
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
|
||||||
DEFINE_MAX_SEQ(lruvec);
|
DEFINE_MAX_SEQ(lruvec);
|
||||||
|
|
||||||
@ -123,7 +123,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan))
|
if (!should_run_aging(lruvec, max_seq, sc, can_swap, &nr_to_scan))
|
||||||
@@ -5148,17 +5143,14 @@ static bool try_to_shrink_lruvec(struct
|
@@ -5147,17 +5142,14 @@ static bool try_to_shrink_lruvec(struct
|
||||||
long nr_to_scan;
|
long nr_to_scan;
|
||||||
unsigned long scanned = 0;
|
unsigned long scanned = 0;
|
||||||
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
|
||||||
@ -146,7 +146,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
nr_to_scan = get_nr_to_scan(lruvec, sc, swappiness);
|
||||||
if (nr_to_scan <= 0)
|
if (nr_to_scan <= 0)
|
||||||
@@ -5289,12 +5281,13 @@ static void lru_gen_shrink_lruvec(struct
|
@@ -5288,12 +5280,13 @@ static void lru_gen_shrink_lruvec(struct
|
||||||
struct blk_plug plug;
|
struct blk_plug plug;
|
||||||
|
|
||||||
VM_WARN_ON_ONCE(global_reclaim(sc));
|
VM_WARN_ON_ONCE(global_reclaim(sc));
|
||||||
@ -161,7 +161,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
if (try_to_shrink_lruvec(lruvec, sc))
|
if (try_to_shrink_lruvec(lruvec, sc))
|
||||||
lru_gen_rotate_memcg(lruvec, MEMCG_LRU_YOUNG);
|
lru_gen_rotate_memcg(lruvec, MEMCG_LRU_YOUNG);
|
||||||
@@ -5350,11 +5343,19 @@ static void lru_gen_shrink_node(struct p
|
@@ -5349,11 +5342,19 @@ static void lru_gen_shrink_node(struct p
|
||||||
|
|
||||||
VM_WARN_ON_ONCE(!global_reclaim(sc));
|
VM_WARN_ON_ONCE(!global_reclaim(sc));
|
||||||
|
|
||||||
@ -182,7 +182,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
set_initial_priority(pgdat, sc);
|
set_initial_priority(pgdat, sc);
|
||||||
|
|
||||||
@@ -5372,7 +5373,7 @@ static void lru_gen_shrink_node(struct p
|
@@ -5371,7 +5372,7 @@ static void lru_gen_shrink_node(struct p
|
||||||
clear_mm_walk();
|
clear_mm_walk();
|
||||||
|
|
||||||
blk_finish_plug(&plug);
|
blk_finish_plug(&plug);
|
||||||
@ -191,7 +191,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/* kswapd should never fail */
|
/* kswapd should never fail */
|
||||||
pgdat->kswapd_failures = 0;
|
pgdat->kswapd_failures = 0;
|
||||||
}
|
}
|
||||||
@@ -5944,7 +5945,7 @@ static ssize_t lru_gen_seq_write(struct
|
@@ -5943,7 +5944,7 @@ static ssize_t lru_gen_seq_write(struct
|
||||||
set_task_reclaim_state(current, &sc.reclaim_state);
|
set_task_reclaim_state(current, &sc.reclaim_state);
|
||||||
flags = memalloc_noreclaim_save();
|
flags = memalloc_noreclaim_save();
|
||||||
blk_start_plug(&plug);
|
blk_start_plug(&plug);
|
||||||
|
@ -29,7 +29,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
--- a/mm/vmscan.c
|
--- a/mm/vmscan.c
|
||||||
+++ b/mm/vmscan.c
|
+++ b/mm/vmscan.c
|
||||||
@@ -5218,18 +5218,20 @@ static int shrink_one(struct lruvec *lru
|
@@ -5217,18 +5217,20 @@ static int shrink_one(struct lruvec *lru
|
||||||
|
|
||||||
static void shrink_many(struct pglist_data *pgdat, struct scan_control *sc)
|
static void shrink_many(struct pglist_data *pgdat, struct scan_control *sc)
|
||||||
{
|
{
|
||||||
@ -52,7 +52,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
gen = get_memcg_gen(READ_ONCE(pgdat->memcg_lru.seq));
|
gen = get_memcg_gen(READ_ONCE(pgdat->memcg_lru.seq));
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
@@ -5253,14 +5255,22 @@ restart:
|
@@ -5252,14 +5254,22 @@ restart:
|
||||||
|
|
||||||
op = shrink_one(lruvec, sc);
|
op = shrink_one(lruvec, sc);
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/* restart if raced with lru_gen_rotate_memcg() */
|
/* restart if raced with lru_gen_rotate_memcg() */
|
||||||
if (gen != get_nulls_value(pos))
|
if (gen != get_nulls_value(pos))
|
||||||
goto restart;
|
goto restart;
|
||||||
@@ -5269,11 +5279,6 @@ restart:
|
@@ -5268,11 +5278,6 @@ restart:
|
||||||
bin = get_memcg_bin(bin + 1);
|
bin = get_memcg_bin(bin + 1);
|
||||||
if (bin != first_bin)
|
if (bin != first_bin)
|
||||||
goto restart;
|
goto restart;
|
||||||
|
@ -87,7 +87,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
mark_page_accessed(page);
|
mark_page_accessed(page);
|
||||||
}
|
}
|
||||||
rss[mm_counter(page)]--;
|
rss[mm_counter(page)]--;
|
||||||
@@ -5219,8 +5218,8 @@ static inline void mm_account_fault(stru
|
@@ -5235,8 +5234,8 @@ static inline void mm_account_fault(stru
|
||||||
#ifdef CONFIG_LRU_GEN
|
#ifdef CONFIG_LRU_GEN
|
||||||
static void lru_gen_enter_fault(struct vm_area_struct *vma)
|
static void lru_gen_enter_fault(struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
|
@ -303,7 +303,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
* the eviction
|
* the eviction
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
@@ -5398,53 +5540,6 @@ done:
|
@@ -5397,53 +5539,6 @@ done:
|
||||||
pgdat->kswapd_failures = 0;
|
pgdat->kswapd_failures = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* state change
|
* state change
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@@ -6090,67 +6185,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -6089,67 +6184,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
|||||||
|
|
||||||
--- a/mm/vmscan.c
|
--- a/mm/vmscan.c
|
||||||
+++ b/mm/vmscan.c
|
+++ b/mm/vmscan.c
|
||||||
@@ -6172,12 +6172,17 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -6171,12 +6171,17 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
int i;
|
int i;
|
||||||
int nid;
|
int nid;
|
||||||
|
|
||||||
|
@ -255,7 +255,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@@ -6117,7 +6087,6 @@ void lru_gen_init_lruvec(struct lruvec *
|
@@ -6116,7 +6086,6 @@ void lru_gen_init_lruvec(struct lruvec *
|
||||||
INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]);
|
INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]);
|
||||||
|
|
||||||
lruvec->mm_state.seq = MIN_NR_GENS;
|
lruvec->mm_state.seq = MIN_NR_GENS;
|
||||||
@ -263,7 +263,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_MEMCG
|
#ifdef CONFIG_MEMCG
|
||||||
@@ -6150,7 +6119,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
@@ -6149,7 +6118,6 @@ void lru_gen_exit_memcg(struct mem_cgrou
|
||||||
for_each_node(nid) {
|
for_each_node(nid) {
|
||||||
struct lruvec *lruvec = get_lruvec(memcg, nid);
|
struct lruvec *lruvec = get_lruvec(memcg, nid);
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/spi/spidev.c
|
--- a/drivers/spi/spidev.c
|
||||||
+++ b/drivers/spi/spidev.c
|
+++ b/drivers/spi/spidev.c
|
||||||
@@ -701,6 +701,7 @@ static const struct spi_device_id spidev
|
@@ -702,6 +702,7 @@ static const struct spi_device_id spidev
|
||||||
{ .name = "spi-petra" },
|
{ .name = "spi-petra" },
|
||||||
{ .name = "spi-authenta" },
|
{ .name = "spi-authenta" },
|
||||||
{ .name = "em3581" },
|
{ .name = "em3581" },
|
||||||
@ -22,9 +22,9 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
|||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
|
MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
|
||||||
@@ -728,6 +729,7 @@ static const struct of_device_id spidev_
|
@@ -730,6 +731,7 @@ static const struct of_device_id spidev_
|
||||||
{ .compatible = "cisco,spi-petra", .data = &spidev_of_check },
|
{ .compatible = "rohm,dh2228fv", .data = &spidev_of_check },
|
||||||
{ .compatible = "micron,spi-authenta", .data = &spidev_of_check },
|
{ .compatible = "semtech,sx1301", .data = &spidev_of_check },
|
||||||
{ .compatible = "silabs,em3581", .data = &spidev_of_check },
|
{ .compatible = "silabs,em3581", .data = &spidev_of_check },
|
||||||
+ { .compatible = "silabs,si3210", .data = &spidev_of_check },
|
+ { .compatible = "silabs,si3210", .data = &spidev_of_check },
|
||||||
{},
|
{},
|
||||||
|
@ -130,7 +130,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
struct dpaa_priv *priv = netdev_priv(net_dev);
|
struct dpaa_priv *priv = netdev_priv(net_dev);
|
||||||
struct qm_mcc_initcgr opts = { };
|
struct qm_mcc_initcgr opts = { };
|
||||||
u32 cs_th;
|
u32 cs_th;
|
||||||
@@ -2905,58 +2915,6 @@ static void dpaa_eth_napi_disable(struct
|
@@ -2920,58 +2930,6 @@ static void dpaa_eth_napi_disable(struct
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int dpaa_open(struct net_device *net_dev)
|
static int dpaa_open(struct net_device *net_dev)
|
||||||
{
|
{
|
||||||
struct mac_device *mac_dev;
|
struct mac_device *mac_dev;
|
||||||
@@ -2967,7 +2925,8 @@ static int dpaa_open(struct net_device *
|
@@ -2982,7 +2940,8 @@ static int dpaa_open(struct net_device *
|
||||||
mac_dev = priv->mac_dev;
|
mac_dev = priv->mac_dev;
|
||||||
dpaa_eth_napi_enable(priv);
|
dpaa_eth_napi_enable(priv);
|
||||||
|
|
||||||
@ -199,7 +199,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
if (err)
|
if (err)
|
||||||
goto phy_init_failed;
|
goto phy_init_failed;
|
||||||
|
|
||||||
@@ -2982,7 +2941,7 @@ static int dpaa_open(struct net_device *
|
@@ -2997,7 +2956,7 @@ static int dpaa_open(struct net_device *
|
||||||
netif_err(priv, ifup, net_dev, "mac_dev->enable() = %d\n", err);
|
netif_err(priv, ifup, net_dev, "mac_dev->enable() = %d\n", err);
|
||||||
goto mac_start_failed;
|
goto mac_start_failed;
|
||||||
}
|
}
|
||||||
@ -208,7 +208,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
netif_tx_start_all_queues(net_dev);
|
netif_tx_start_all_queues(net_dev);
|
||||||
|
|
||||||
@@ -2991,6 +2950,7 @@ static int dpaa_open(struct net_device *
|
@@ -3006,6 +2965,7 @@ static int dpaa_open(struct net_device *
|
||||||
mac_start_failed:
|
mac_start_failed:
|
||||||
for (i = 0; i < ARRAY_SIZE(mac_dev->port); i++)
|
for (i = 0; i < ARRAY_SIZE(mac_dev->port); i++)
|
||||||
fman_port_disable(mac_dev->port[i]);
|
fman_port_disable(mac_dev->port[i]);
|
||||||
@ -216,7 +216,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
phy_init_failed:
|
phy_init_failed:
|
||||||
dpaa_eth_napi_disable(priv);
|
dpaa_eth_napi_disable(priv);
|
||||||
@@ -3146,10 +3106,12 @@ static int dpaa_ts_ioctl(struct net_devi
|
@@ -3161,10 +3121,12 @@ static int dpaa_ts_ioctl(struct net_devi
|
||||||
static int dpaa_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd)
|
static int dpaa_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd)
|
||||||
{
|
{
|
||||||
int ret = -EINVAL;
|
int ret = -EINVAL;
|
||||||
@ -230,7 +230,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cmd == SIOCSHWTSTAMP)
|
if (cmd == SIOCSHWTSTAMP)
|
||||||
@@ -3552,6 +3514,7 @@ static int dpaa_remove(struct platform_d
|
@@ -3569,6 +3531,7 @@ static int dpaa_remove(struct platform_d
|
||||||
|
|
||||||
dev_set_drvdata(dev, NULL);
|
dev_set_drvdata(dev, NULL);
|
||||||
unregister_netdev(net_dev);
|
unregister_netdev(net_dev);
|
||||||
|
@ -202,7 +202,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
.mac_link_up = am65_cpsw_nuss_mac_link_up,
|
.mac_link_up = am65_cpsw_nuss_mac_link_up,
|
||||||
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||||
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||||
@@ -1736,7 +1736,6 @@ static void axienet_mac_link_up(struct p
|
@@ -1741,7 +1741,6 @@ static void axienet_mac_link_up(struct p
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct phylink_mac_ops axienet_phylink_ops = {
|
static const struct phylink_mac_ops axienet_phylink_ops = {
|
||||||
|
@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
supported = mac_dev->phylink_config.supported_interfaces;
|
supported = mac_dev->phylink_config.supported_interfaces;
|
||||||
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||||
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
|
||||||
@@ -1631,7 +1631,7 @@ static void axienet_pcs_an_restart(struc
|
@@ -1636,7 +1636,7 @@ static void axienet_pcs_an_restart(struc
|
||||||
phylink_mii_c22_pcs_an_restart(pcs_phy);
|
phylink_mii_c22_pcs_an_restart(pcs_phy);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
phy_interface_t interface,
|
phy_interface_t interface,
|
||||||
const unsigned long *advertising,
|
const unsigned long *advertising,
|
||||||
bool permit_pause_to_mac)
|
bool permit_pause_to_mac)
|
||||||
@@ -1653,7 +1653,8 @@ static int axienet_pcs_config(struct phy
|
@@ -1658,7 +1658,8 @@ static int axienet_pcs_config(struct phy
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
netdev_warn(ndev, "Failed to configure PCS: %d\n", ret);
|
netdev_warn(ndev, "Failed to configure PCS: %d\n", ret);
|
||||||
|
|
||||||
@@ -2129,6 +2130,7 @@ static int axienet_probe(struct platform
|
@@ -2138,6 +2139,7 @@ static int axienet_probe(struct platform
|
||||||
}
|
}
|
||||||
of_node_put(np);
|
of_node_put(np);
|
||||||
lp->pcs.ops = &axienet_pcs_ops;
|
lp->pcs.ops = &axienet_pcs_ops;
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/usb/ipheth.c
|
--- a/drivers/net/usb/ipheth.c
|
||||||
+++ b/drivers/net/usb/ipheth.c
|
+++ b/drivers/net/usb/ipheth.c
|
||||||
@@ -510,8 +510,8 @@ err_register_netdev:
|
@@ -511,8 +511,8 @@ err_register_netdev:
|
||||||
ipheth_free_urbs(dev);
|
ipheth_free_urbs(dev);
|
||||||
err_alloc_urbs:
|
err_alloc_urbs:
|
||||||
err_get_macaddr:
|
err_get_macaddr:
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/drivers/net/usb/ipheth.c
|
--- a/drivers/net/usb/ipheth.c
|
||||||
+++ b/drivers/net/usb/ipheth.c
|
+++ b/drivers/net/usb/ipheth.c
|
||||||
@@ -373,12 +373,10 @@ static netdev_tx_t ipheth_tx(struct sk_b
|
@@ -374,12 +374,10 @@ static netdev_tx_t ipheth_tx(struct sk_b
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(dev->tx_buf, skb->data, skb->len);
|
memcpy(dev->tx_buf, skb->data, skb->len);
|
||||||
|
@ -256,7 +256,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
ipheth_rx_submit(dev, GFP_ATOMIC);
|
ipheth_rx_submit(dev, GFP_ATOMIC);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,6 +411,27 @@ static int ipheth_get_macaddr(struct iph
|
@@ -311,6 +412,27 @@ static int ipheth_get_macaddr(struct iph
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -284,7 +284,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int ipheth_rx_submit(struct ipheth_device *dev, gfp_t mem_flags)
|
static int ipheth_rx_submit(struct ipheth_device *dev, gfp_t mem_flags)
|
||||||
{
|
{
|
||||||
struct usb_device *udev = dev->udev;
|
struct usb_device *udev = dev->udev;
|
||||||
@@ -317,7 +439,7 @@ static int ipheth_rx_submit(struct iphet
|
@@ -318,7 +440,7 @@ static int ipheth_rx_submit(struct iphet
|
||||||
|
|
||||||
usb_fill_bulk_urb(dev->rx_urb, udev,
|
usb_fill_bulk_urb(dev->rx_urb, udev,
|
||||||
usb_rcvbulkpipe(udev, dev->bulk_in),
|
usb_rcvbulkpipe(udev, dev->bulk_in),
|
||||||
@ -293,7 +293,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
ipheth_rcvbulk_callback,
|
ipheth_rcvbulk_callback,
|
||||||
dev);
|
dev);
|
||||||
dev->rx_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
|
dev->rx_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
|
||||||
@@ -365,7 +487,7 @@ static netdev_tx_t ipheth_tx(struct sk_b
|
@@ -366,7 +488,7 @@ static netdev_tx_t ipheth_tx(struct sk_b
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
/* Paranoid */
|
/* Paranoid */
|
||||||
@ -302,7 +302,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
WARN(1, "%s: skb too large: %d bytes\n", __func__, skb->len);
|
WARN(1, "%s: skb too large: %d bytes\n", __func__, skb->len);
|
||||||
dev->net->stats.tx_dropped++;
|
dev->net->stats.tx_dropped++;
|
||||||
dev_kfree_skb_any(skb);
|
dev_kfree_skb_any(skb);
|
||||||
@@ -448,6 +570,8 @@ static int ipheth_probe(struct usb_inter
|
@@ -449,6 +571,8 @@ static int ipheth_probe(struct usb_inter
|
||||||
dev->net = netdev;
|
dev->net = netdev;
|
||||||
dev->intf = intf;
|
dev->intf = intf;
|
||||||
dev->confirmed_pairing = false;
|
dev->confirmed_pairing = false;
|
||||||
@ -311,7 +311,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
/* Set up endpoints */
|
/* Set up endpoints */
|
||||||
hintf = usb_altnum_to_altsetting(intf, IPHETH_ALT_INTFNUM);
|
hintf = usb_altnum_to_altsetting(intf, IPHETH_ALT_INTFNUM);
|
||||||
if (hintf == NULL) {
|
if (hintf == NULL) {
|
||||||
@@ -479,6 +603,12 @@ static int ipheth_probe(struct usb_inter
|
@@ -480,6 +604,12 @@ static int ipheth_probe(struct usb_inter
|
||||||
if (retval)
|
if (retval)
|
||||||
goto err_get_macaddr;
|
goto err_get_macaddr;
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static int mv88e6352_get_port4_serdes_cmode(struct mv88e6xxx_chip *chip)
|
static int mv88e6352_get_port4_serdes_cmode(struct mv88e6xxx_chip *chip)
|
||||||
{
|
{
|
||||||
u16 reg, val;
|
u16 reg, val;
|
||||||
@@ -4501,7 +4513,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -4502,7 +4514,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
||||||
.stu_getnext = mv88e6352_g1_stu_getnext,
|
.stu_getnext = mv88e6352_g1_stu_getnext,
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mv88e6xxx_ops mv88e6172_ops = {
|
static const struct mv88e6xxx_ops mv88e6172_ops = {
|
||||||
@@ -4604,7 +4616,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -4605,7 +4617,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
||||||
.stu_getnext = mv88e6352_g1_stu_getnext,
|
.stu_getnext = mv88e6352_g1_stu_getnext,
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mv88e6xxx_ops mv88e6176_ops = {
|
static const struct mv88e6xxx_ops mv88e6176_ops = {
|
||||||
@@ -5281,7 +5293,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -5282,7 +5294,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
|
||||||
.stu_getnext = mv88e6352_g1_stu_getnext,
|
.stu_getnext = mv88e6352_g1_stu_getnext,
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
@ -78,7 +78,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct mv88e6xxx_ops mv88e6351_ops = {
|
static const struct mv88e6xxx_ops mv88e6351_ops = {
|
||||||
@@ -5327,7 +5339,7 @@ static const struct mv88e6xxx_ops mv88e6
|
@@ -5328,7 +5340,7 @@ static const struct mv88e6xxx_ops mv88e6
|
||||||
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
|
||||||
.avb_ops = &mv88e6352_avb_ops,
|
.avb_ops = &mv88e6352_avb_ops,
|
||||||
.ptp_ops = &mv88e6352_ptp_ops,
|
.ptp_ops = &mv88e6352_ptp_ops,
|
||||||
|
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
int current_brightness;
|
int current_brightness;
|
||||||
--- a/include/linux/leds.h
|
--- a/include/linux/leds.h
|
||||||
+++ b/include/linux/leds.h
|
+++ b/include/linux/leds.h
|
||||||
@@ -527,6 +527,16 @@ static inline void *led_get_trigger_data
|
@@ -525,6 +525,16 @@ led_trigger_get_brightness(const struct
|
||||||
|
|
||||||
#endif /* CONFIG_LEDS_TRIGGERS */
|
#endif /* CONFIG_LEDS_TRIGGERS */
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
/* base state is ON (link present) */
|
/* base state is ON (link present) */
|
||||||
--- a/include/linux/leds.h
|
--- a/include/linux/leds.h
|
||||||
+++ b/include/linux/leds.h
|
+++ b/include/linux/leds.h
|
||||||
@@ -530,6 +530,9 @@ static inline void *led_get_trigger_data
|
@@ -528,6 +528,9 @@ led_trigger_get_brightness(const struct
|
||||||
/* Trigger specific enum */
|
/* Trigger specific enum */
|
||||||
enum led_trigger_netdev_modes {
|
enum led_trigger_netdev_modes {
|
||||||
TRIGGER_NETDEV_LINK = 0,
|
TRIGGER_NETDEV_LINK = 0,
|
||||||
|
@ -127,7 +127,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
/* base state is ON (link present) */
|
/* base state is ON (link present) */
|
||||||
--- a/include/linux/leds.h
|
--- a/include/linux/leds.h
|
||||||
+++ b/include/linux/leds.h
|
+++ b/include/linux/leds.h
|
||||||
@@ -533,6 +533,8 @@ enum led_trigger_netdev_modes {
|
@@ -531,6 +531,8 @@ enum led_trigger_netdev_modes {
|
||||||
TRIGGER_NETDEV_LINK_10,
|
TRIGGER_NETDEV_LINK_10,
|
||||||
TRIGGER_NETDEV_LINK_100,
|
TRIGGER_NETDEV_LINK_100,
|
||||||
TRIGGER_NETDEV_LINK_1000,
|
TRIGGER_NETDEV_LINK_1000,
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -5998,7 +5998,8 @@ static const struct mv88e6xxx_info mv88e
|
@@ -5999,7 +5999,8 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.name = "Marvell 88E6191X",
|
.name = "Marvell 88E6191X",
|
||||||
.num_databases = 4096,
|
.num_databases = 4096,
|
||||||
.num_ports = 11, /* 10 + Z80 */
|
.num_ports = 11, /* 10 + Z80 */
|
||||||
@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
.max_vid = 8191,
|
.max_vid = 8191,
|
||||||
.max_sid = 63,
|
.max_sid = 63,
|
||||||
.port_base_addr = 0x0,
|
.port_base_addr = 0x0,
|
||||||
@@ -6021,7 +6022,8 @@ static const struct mv88e6xxx_info mv88e
|
@@ -6022,7 +6023,8 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.name = "Marvell 88E6193X",
|
.name = "Marvell 88E6193X",
|
||||||
.num_databases = 4096,
|
.num_databases = 4096,
|
||||||
.num_ports = 11, /* 10 + Z80 */
|
.num_ports = 11, /* 10 + Z80 */
|
||||||
@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
.max_vid = 8191,
|
.max_vid = 8191,
|
||||||
.max_sid = 63,
|
.max_sid = 63,
|
||||||
.port_base_addr = 0x0,
|
.port_base_addr = 0x0,
|
||||||
@@ -6340,7 +6342,8 @@ static const struct mv88e6xxx_info mv88e
|
@@ -6341,7 +6343,8 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.name = "Marvell 88E6393X",
|
.name = "Marvell 88E6393X",
|
||||||
.num_databases = 4096,
|
.num_databases = 4096,
|
||||||
.num_ports = 11, /* 10 + Z80 */
|
.num_ports = 11, /* 10 + Z80 */
|
||||||
|
@ -58,7 +58,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6285,6 +6291,32 @@ static const struct mv88e6xxx_info mv88e
|
@@ -6286,6 +6292,32 @@ static const struct mv88e6xxx_info mv88e
|
||||||
.ptp_support = true,
|
.ptp_support = true,
|
||||||
.ops = &mv88e6352_ops,
|
.ops = &mv88e6352_ops,
|
||||||
},
|
},
|
||||||
|
@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
|
|
||||||
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
||||||
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
|
||||||
@@ -4157,17 +4157,6 @@ void intel_execlists_show_requests(struc
|
@@ -4153,17 +4153,6 @@ void intel_execlists_show_requests(struc
|
||||||
spin_unlock_irqrestore(&sched_engine->lock, flags);
|
spin_unlock_irqrestore(&sched_engine->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
void intel_execlists_dump_active_requests(struct intel_engine_cs *engine,
|
void intel_execlists_dump_active_requests(struct intel_engine_cs *engine,
|
||||||
struct i915_request *hung_rq,
|
struct i915_request *hung_rq,
|
||||||
struct drm_printer *m)
|
struct drm_printer *m)
|
||||||
@@ -4178,8 +4167,8 @@ void intel_execlists_dump_active_request
|
@@ -4174,8 +4163,8 @@ void intel_execlists_dump_active_request
|
||||||
|
|
||||||
intel_engine_dump_active_requests(&engine->sched_engine->requests, hung_rq, m);
|
intel_engine_dump_active_requests(&engine->sched_engine->requests, hung_rq, m);
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
|
|
||||||
--- a/include/linux/of.h
|
--- a/include/linux/of.h
|
||||||
+++ b/include/linux/of.h
|
+++ b/include/linux/of.h
|
||||||
@@ -1009,6 +1009,31 @@ static inline int of_parse_phandle_with_
|
@@ -1011,6 +1011,31 @@ static inline int of_parse_phandle_with_
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -161,7 +161,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
goto err_out;
|
goto err_out;
|
||||||
--- a/include/linux/of.h
|
--- a/include/linux/of.h
|
||||||
+++ b/include/linux/of.h
|
+++ b/include/linux/of.h
|
||||||
@@ -362,7 +362,8 @@ extern int of_n_addr_cells(struct device
|
@@ -364,7 +364,8 @@ extern int of_n_addr_cells(struct device
|
||||||
extern int of_n_size_cells(struct device_node *np);
|
extern int of_n_size_cells(struct device_node *np);
|
||||||
extern const struct of_device_id *of_match_node(
|
extern const struct of_device_id *of_match_node(
|
||||||
const struct of_device_id *matches, const struct device_node *node);
|
const struct of_device_id *matches, const struct device_node *node);
|
||||||
|
@ -135,7 +135,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
+}
|
+}
|
||||||
--- a/include/linux/of.h
|
--- a/include/linux/of.h
|
||||||
+++ b/include/linux/of.h
|
+++ b/include/linux/of.h
|
||||||
@@ -374,6 +374,9 @@ extern int of_parse_phandle_with_args_ma
|
@@ -376,6 +376,9 @@ extern int of_parse_phandle_with_args_ma
|
||||||
extern int of_count_phandle_with_args(const struct device_node *np,
|
extern int of_count_phandle_with_args(const struct device_node *np,
|
||||||
const char *list_name, const char *cells_name);
|
const char *list_name, const char *cells_name);
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
/* phandle iterator functions */
|
/* phandle iterator functions */
|
||||||
extern int of_phandle_iterator_init(struct of_phandle_iterator *it,
|
extern int of_phandle_iterator_init(struct of_phandle_iterator *it,
|
||||||
const struct device_node *np,
|
const struct device_node *np,
|
||||||
@@ -731,6 +734,12 @@ static inline int of_count_phandle_with_
|
@@ -733,6 +736,12 @@ static inline int of_count_phandle_with_
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
+EXPORT_SYMBOL_GPL(of_request_module);
|
+EXPORT_SYMBOL_GPL(of_request_module);
|
||||||
--- a/include/linux/of.h
|
--- a/include/linux/of.h
|
||||||
+++ b/include/linux/of.h
|
+++ b/include/linux/of.h
|
||||||
@@ -376,6 +376,7 @@ extern int of_count_phandle_with_args(co
|
@@ -378,6 +378,7 @@ extern int of_count_phandle_with_args(co
|
||||||
|
|
||||||
/* module functions */
|
/* module functions */
|
||||||
extern ssize_t of_modalias(const struct device_node *np, char *str, ssize_t len);
|
extern ssize_t of_modalias(const struct device_node *np, char *str, ssize_t len);
|
||||||
@ -117,7 +117,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
|
|
||||||
/* phandle iterator functions */
|
/* phandle iterator functions */
|
||||||
extern int of_phandle_iterator_init(struct of_phandle_iterator *it,
|
extern int of_phandle_iterator_init(struct of_phandle_iterator *it,
|
||||||
@@ -739,6 +740,11 @@ static inline ssize_t of_modalias(const
|
@@ -741,6 +742,11 @@ static inline ssize_t of_modalias(const
|
||||||
{
|
{
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ Link: https://lore.kernel.org/r/20230526204802.3081168-4-robimarko@gmail.com
|
|||||||
|
|
||||||
enum _msm8996_version {
|
enum _msm8996_version {
|
||||||
MSM8996_V3,
|
MSM8996_V3,
|
||||||
@@ -153,12 +148,12 @@ static enum _msm8996_version qcom_cpufre
|
@@ -157,12 +152,12 @@ static enum _msm8996_version qcom_cpufre
|
||||||
msm_id++;
|
msm_id++;
|
||||||
|
|
||||||
switch ((enum _msm_id)*msm_id) {
|
switch ((enum _msm_id)*msm_id) {
|
||||||
|
@ -36,7 +36,7 @@ Link: https://lore.kernel.org/r/20230526204802.3081168-5-robimarko@gmail.com
|
|||||||
struct qcom_cpufreq_drv;
|
struct qcom_cpufreq_drv;
|
||||||
|
|
||||||
struct qcom_cpufreq_match_data {
|
struct qcom_cpufreq_match_data {
|
||||||
@@ -134,60 +126,32 @@ static void get_krait_bin_format_b(struc
|
@@ -138,60 +130,32 @@ static void get_krait_bin_format_b(struc
|
||||||
dev_dbg(cpu_dev, "PVS version: %d\n", *pvs_ver);
|
dev_dbg(cpu_dev, "PVS version: %d\n", *pvs_ver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ Signed-off-by: Lee Jones <lee@kernel.org>
|
|||||||
interval = jiffies_to_msecs(
|
interval = jiffies_to_msecs(
|
||||||
--- a/include/linux/leds.h
|
--- a/include/linux/leds.h
|
||||||
+++ b/include/linux/leds.h
|
+++ b/include/linux/leds.h
|
||||||
@@ -533,6 +533,9 @@ enum led_trigger_netdev_modes {
|
@@ -531,6 +531,9 @@ enum led_trigger_netdev_modes {
|
||||||
TRIGGER_NETDEV_LINK_10,
|
TRIGGER_NETDEV_LINK_10,
|
||||||
TRIGGER_NETDEV_LINK_100,
|
TRIGGER_NETDEV_LINK_100,
|
||||||
TRIGGER_NETDEV_LINK_1000,
|
TRIGGER_NETDEV_LINK_1000,
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
|
|
||||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||||
@@ -596,6 +596,9 @@ static const struct pci_device_id mhi_pc
|
@@ -599,6 +599,9 @@ static const struct pci_device_id mhi_pc
|
||||||
/* MV32-WB (Cinterion) */
|
/* MV32-WB (Cinterion) */
|
||||||
{ PCI_DEVICE(0x1269, 0x00bb),
|
{ PCI_DEVICE(0x1269, 0x00bb),
|
||||||
.driver_data = (kernel_ulong_t) &mhi_mv32_info },
|
.driver_data = (kernel_ulong_t) &mhi_mv32_info },
|
||||||
|
@ -28,7 +28,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
/**
|
/**
|
||||||
* struct mhi_pci_dev_info - MHI PCI device specific information
|
* struct mhi_pci_dev_info - MHI PCI device specific information
|
||||||
* @config: MHI controller configuration
|
* @config: MHI controller configuration
|
||||||
@@ -557,11 +561,11 @@ static const struct pci_device_id mhi_pc
|
@@ -560,11 +564,11 @@ static const struct pci_device_id mhi_pc
|
||||||
.driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
|
.driver_data = (kernel_ulong_t) &mhi_telit_fn990_info },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
|
{ PCI_DEVICE(PCI_VENDOR_ID_QCOM, 0x0308),
|
||||||
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
|
.driver_data = (kernel_ulong_t) &mhi_qcom_sdx65_info },
|
||||||
@ -43,7 +43,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||||
/* T99W175 (sdx55), Both for eSIM and Non-eSIM */
|
/* T99W175 (sdx55), Both for eSIM and Non-eSIM */
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
|
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0ab),
|
||||||
@@ -585,16 +589,16 @@ static const struct pci_device_id mhi_pc
|
@@ -588,16 +592,16 @@ static const struct pci_device_id mhi_pc
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9),
|
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9),
|
||||||
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info },
|
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info },
|
||||||
/* MV31-W (Cinterion) */
|
/* MV31-W (Cinterion) */
|
||||||
|
@ -36,7 +36,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/mhi.h>
|
#include <linux/mhi.h>
|
||||||
@@ -901,11 +900,9 @@ static int mhi_pci_probe(struct pci_dev
|
@@ -904,11 +903,9 @@ static int mhi_pci_probe(struct pci_dev
|
||||||
mhi_pdev->pci_state = pci_store_saved_state(pdev);
|
mhi_pdev->pci_state = pci_store_saved_state(pdev);
|
||||||
pci_load_saved_state(pdev, NULL);
|
pci_load_saved_state(pdev, NULL);
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
|
|
||||||
/* MHI bus does not power up the controller by default */
|
/* MHI bus does not power up the controller by default */
|
||||||
err = mhi_prepare_for_power_up(mhi_cntrl);
|
err = mhi_prepare_for_power_up(mhi_cntrl);
|
||||||
@@ -939,8 +936,6 @@ err_unprepare:
|
@@ -942,8 +939,6 @@ err_unprepare:
|
||||||
mhi_unprepare_after_power_down(mhi_cntrl);
|
mhi_unprepare_after_power_down(mhi_cntrl);
|
||||||
err_unregister:
|
err_unregister:
|
||||||
mhi_unregister_controller(mhi_cntrl);
|
mhi_unregister_controller(mhi_cntrl);
|
||||||
@ -58,7 +58,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -963,7 +958,6 @@ static void mhi_pci_remove(struct pci_de
|
@@ -966,7 +961,6 @@ static void mhi_pci_remove(struct pci_de
|
||||||
pm_runtime_get_noresume(&pdev->dev);
|
pm_runtime_get_noresume(&pdev->dev);
|
||||||
|
|
||||||
mhi_unregister_controller(mhi_cntrl);
|
mhi_unregister_controller(mhi_cntrl);
|
||||||
|
@ -31,7 +31,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
static const struct mhi_pci_dev_info mhi_foxconn_sdx55_info = {
|
static const struct mhi_pci_dev_info mhi_foxconn_sdx55_info = {
|
||||||
.name = "foxconn-sdx55",
|
.name = "foxconn-sdx55",
|
||||||
.fw = "qcom/sdx55m/sbl1.mbn",
|
.fw = "qcom/sdx55m/sbl1.mbn",
|
||||||
@@ -587,6 +596,15 @@ static const struct pci_device_id mhi_pc
|
@@ -590,6 +599,15 @@ static const struct pci_device_id mhi_pc
|
||||||
/* T99W373 (sdx62) */
|
/* T99W373 (sdx62) */
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9),
|
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0d9),
|
||||||
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info },
|
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx65_info },
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
|
|
||||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||||
@@ -591,6 +591,8 @@ static const struct pci_device_id mhi_pc
|
@@ -594,6 +594,8 @@ static const struct pci_device_id mhi_pc
|
||||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
|
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
|
||||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||||
|
@ -37,7 +37,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
static const struct mhi_channel_config mhi_foxconn_sdx55_channels[] = {
|
static const struct mhi_channel_config mhi_foxconn_sdx55_channels[] = {
|
||||||
MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 32, 0),
|
MHI_CHANNEL_CONFIG_UL(0, "LOOPBACK", 32, 0),
|
||||||
MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 32, 0),
|
MHI_CHANNEL_CONFIG_DL(1, "LOOPBACK", 32, 0),
|
||||||
@@ -591,6 +601,9 @@ static const struct pci_device_id mhi_pc
|
@@ -594,6 +604,9 @@ static const struct pci_device_id mhi_pc
|
||||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
|
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1002), /* EM160R-GL (sdx24) */
|
||||||
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
.driver_data = (kernel_ulong_t) &mhi_quectel_em1xx_info },
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
|
|
||||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||||
@@ -638,6 +638,12 @@ static const struct pci_device_id mhi_pc
|
@@ -641,6 +641,12 @@ static const struct pci_device_id mhi_pc
|
||||||
/* T99W510 (sdx24), variant 3 */
|
/* T99W510 (sdx24), variant 3 */
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0f2),
|
{ PCI_DEVICE(PCI_VENDOR_ID_FOXCONN, 0xe0f2),
|
||||||
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx24_info },
|
.driver_data = (kernel_ulong_t) &mhi_foxconn_sdx24_info },
|
||||||
|
@ -24,7 +24,7 @@ Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
|||||||
|
|
||||||
--- a/drivers/bus/mhi/host/pci_generic.c
|
--- a/drivers/bus/mhi/host/pci_generic.c
|
||||||
+++ b/drivers/bus/mhi/host/pci_generic.c
|
+++ b/drivers/bus/mhi/host/pci_generic.c
|
||||||
@@ -604,6 +604,9 @@ static const struct pci_device_id mhi_pc
|
@@ -607,6 +607,9 @@ static const struct pci_device_id mhi_pc
|
||||||
/* RM520N-GL (sdx6x), eSIM */
|
/* RM520N-GL (sdx6x), eSIM */
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1004),
|
{ PCI_DEVICE(PCI_VENDOR_ID_QUECTEL, 0x1004),
|
||||||
.driver_data = (kernel_ulong_t) &mhi_quectel_rm5xx_info },
|
.driver_data = (kernel_ulong_t) &mhi_quectel_rm5xx_info },
|
||||||
|
@ -123,7 +123,7 @@ Signed-off-by: Justin Stitt <justinstitt@google.com>
|
|||||||
#endif /* _LINUX_ETHTOOL_H */
|
#endif /* _LINUX_ETHTOOL_H */
|
||||||
--- a/net/ethtool/ioctl.c
|
--- a/net/ethtool/ioctl.c
|
||||||
+++ b/net/ethtool/ioctl.c
|
+++ b/net/ethtool/ioctl.c
|
||||||
@@ -1974,6 +1974,13 @@ __printf(2, 3) void ethtool_sprintf(u8 *
|
@@ -1977,6 +1977,13 @@ __printf(2, 3) void ethtool_sprintf(u8 *
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ethtool_sprintf);
|
EXPORT_SYMBOL(ethtool_sprintf);
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
|||||||
{ {0x02, 0x21}, "lz4", unlz4 },
|
{ {0x02, 0x21}, "lz4", unlz4 },
|
||||||
--- a/scripts/Makefile.lib
|
--- a/scripts/Makefile.lib
|
||||||
+++ b/scripts/Makefile.lib
|
+++ b/scripts/Makefile.lib
|
||||||
@@ -443,10 +443,10 @@ quiet_cmd_bzip2_with_size = BZIP2 $@
|
@@ -447,10 +447,10 @@ quiet_cmd_bzip2_with_size = BZIP2 $@
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
quiet_cmd_lzma = LZMA $@
|
quiet_cmd_lzma = LZMA $@
|
||||||
|
@ -10,7 +10,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string
|
|||||||
|
|
||||||
--- a/init/Kconfig
|
--- a/init/Kconfig
|
||||||
+++ b/init/Kconfig
|
+++ b/init/Kconfig
|
||||||
@@ -2013,7 +2013,7 @@ config PADATA
|
@@ -2017,7 +2017,7 @@ config PADATA
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config ASN1
|
config ASN1
|
||||||
|
@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
|||||||
|
|
||||||
--- a/drivers/net/usb/qmi_wwan.c
|
--- a/drivers/net/usb/qmi_wwan.c
|
||||||
+++ b/drivers/net/usb/qmi_wwan.c
|
+++ b/drivers/net/usb/qmi_wwan.c
|
||||||
@@ -1082,12 +1082,18 @@ static const struct usb_device_id produc
|
@@ -1083,12 +1083,18 @@ static const struct usb_device_id produc
|
||||||
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
|
USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
|
||||||
.driver_info = (unsigned long)&qmi_wwan_info,
|
.driver_info = (unsigned long)&qmi_wwan_info,
|
||||||
},
|
},
|
||||||
@ -43,7 +43,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
|||||||
|
|
||||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||||
/* These Quectel products use Quectel's vendor ID */
|
/* These Quectel products use Quectel's vendor ID */
|
||||||
@@ -1156,6 +1161,11 @@ static const struct usb_device_id option
|
@@ -1158,6 +1163,11 @@ static const struct usb_device_id option
|
||||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
|
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
|
||||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
|
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
|
||||||
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
|
.driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
|
||||||
@ -55,7 +55,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
|||||||
/* Quectel products using Qualcomm vendor ID */
|
/* Quectel products using Qualcomm vendor ID */
|
||||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
|
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
|
||||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
|
{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
|
||||||
@@ -1197,6 +1207,11 @@ static const struct usb_device_id option
|
@@ -1199,6 +1209,11 @@ static const struct usb_device_id option
|
||||||
.driver_info = ZLP },
|
.driver_info = ZLP },
|
||||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||||
.driver_info = RSVD(4) },
|
.driver_info = RSVD(4) },
|
||||||
|
@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/fs/locks.c
|
--- a/fs/locks.c
|
||||||
+++ b/fs/locks.c
|
+++ b/fs/locks.c
|
||||||
@@ -2909,6 +2909,8 @@ static const struct seq_operations locks
|
@@ -2907,6 +2907,8 @@ static const struct seq_operations locks
|
||||||
|
|
||||||
static int __init proc_locks_init(void)
|
static int __init proc_locks_init(void)
|
||||||
{
|
{
|
||||||
@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (!pe)
|
if (!pe)
|
||||||
--- a/mm/vmalloc.c
|
--- a/mm/vmalloc.c
|
||||||
+++ b/mm/vmalloc.c
|
+++ b/mm/vmalloc.c
|
||||||
@@ -4222,6 +4222,8 @@ static const struct seq_operations vmall
|
@@ -4215,6 +4215,8 @@ static const struct seq_operations vmall
|
||||||
|
|
||||||
static int __init proc_vmalloc_init(void)
|
static int __init proc_vmalloc_init(void)
|
||||||
{
|
{
|
||||||
@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/net/ipv4/fib_trie.c
|
+++ b/net/ipv4/fib_trie.c
|
||||||
@@ -3036,11 +3036,13 @@ static const struct seq_operations fib_r
|
@@ -3037,11 +3037,13 @@ static const struct seq_operations fib_r
|
||||||
|
|
||||||
int __net_init fib_proc_init(struct net *net)
|
int __net_init fib_proc_init(struct net *net)
|
||||||
{
|
{
|
||||||
@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
fib_triestat_seq_show, NULL))
|
fib_triestat_seq_show, NULL))
|
||||||
goto out2;
|
goto out2;
|
||||||
|
|
||||||
@@ -3051,17 +3053,21 @@ int __net_init fib_proc_init(struct net
|
@@ -3052,17 +3054,21 @@ int __net_init fib_proc_init(struct net
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out3:
|
out3:
|
||||||
|
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
--- a/kernel/sched/core.c
|
--- a/kernel/sched/core.c
|
||||||
+++ b/kernel/sched/core.c
|
+++ b/kernel/sched/core.c
|
||||||
@@ -4366,6 +4366,7 @@ int wake_up_state(struct task_struct *p,
|
@@ -4363,6 +4363,7 @@ int wake_up_state(struct task_struct *p,
|
||||||
{
|
{
|
||||||
return try_to_wake_up(p, state, 0);
|
return try_to_wake_up(p, state, 0);
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#endif /* _KOBJECT_H_ */
|
#endif /* _KOBJECT_H_ */
|
||||||
--- a/lib/kobject_uevent.c
|
--- a/lib/kobject_uevent.c
|
||||||
+++ b/lib/kobject_uevent.c
|
+++ b/lib/kobject_uevent.c
|
||||||
@@ -691,6 +691,43 @@ int add_uevent_var(struct kobj_uevent_en
|
@@ -706,6 +706,43 @@ int add_uevent_var(struct kobj_uevent_en
|
||||||
EXPORT_SYMBOL_GPL(add_uevent_var);
|
EXPORT_SYMBOL_GPL(add_uevent_var);
|
||||||
|
|
||||||
#if defined(CONFIG_NET)
|
#if defined(CONFIG_NET)
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|||||||
|
|
||||||
--- a/drivers/base/core.c
|
--- a/drivers/base/core.c
|
||||||
+++ b/drivers/base/core.c
|
+++ b/drivers/base/core.c
|
||||||
@@ -1717,7 +1717,7 @@ static void device_links_purge(struct de
|
@@ -1718,7 +1718,7 @@ static void device_links_purge(struct de
|
||||||
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
|
#define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \
|
||||||
DL_FLAG_PM_RUNTIME)
|
DL_FLAG_PM_RUNTIME)
|
||||||
|
|
||||||
|
@ -319,7 +319,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
|||||||
struct nf_conn *ct = item->ct;
|
struct nf_conn *ct = item->ct;
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
unsigned int type;
|
unsigned int type;
|
||||||
@@ -3754,11 +3761,17 @@ static int ctnetlink_stat_exp_cpu(struct
|
@@ -3755,11 +3762,17 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||||
@ -337,7 +337,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
|||||||
|
|
||||||
static const struct nfnl_callback ctnl_cb[IPCTNL_MSG_MAX] = {
|
static const struct nfnl_callback ctnl_cb[IPCTNL_MSG_MAX] = {
|
||||||
[IPCTNL_MSG_CT_NEW] = {
|
[IPCTNL_MSG_CT_NEW] = {
|
||||||
@@ -3857,8 +3870,12 @@ static int __net_init ctnetlink_net_init
|
@@ -3858,8 +3871,12 @@ static int __net_init ctnetlink_net_init
|
||||||
static void ctnetlink_net_pre_exit(struct net *net)
|
static void ctnetlink_net_pre_exit(struct net *net)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||||
|
@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
|
|||||||
|
|
||||||
--- a/mm/page_alloc.c
|
--- a/mm/page_alloc.c
|
||||||
+++ b/mm/page_alloc.c
|
+++ b/mm/page_alloc.c
|
||||||
@@ -7903,7 +7903,7 @@ static void __init alloc_node_mem_map(st
|
@@ -7910,7 +7910,7 @@ static void __init alloc_node_mem_map(st
|
||||||
if (pgdat == NODE_DATA(0)) {
|
if (pgdat == NODE_DATA(0)) {
|
||||||
mem_map = NODE_DATA(0)->node_mem_map;
|
mem_map = NODE_DATA(0)->node_mem_map;
|
||||||
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
|
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
|
||||||
|
@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
#define PACKET_FANOUT_LB 1
|
#define PACKET_FANOUT_LB 1
|
||||||
--- a/net/packet/af_packet.c
|
--- a/net/packet/af_packet.c
|
||||||
+++ b/net/packet/af_packet.c
|
+++ b/net/packet/af_packet.c
|
||||||
@@ -1866,6 +1866,7 @@ static int packet_rcv_spkt(struct sk_buf
|
@@ -1927,6 +1927,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||||
{
|
{
|
||||||
struct sock *sk;
|
struct sock *sk;
|
||||||
struct sockaddr_pkt *spkt;
|
struct sockaddr_pkt *spkt;
|
||||||
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* When we registered the protocol we saved the socket in the data
|
* When we registered the protocol we saved the socket in the data
|
||||||
@@ -1873,6 +1874,7 @@ static int packet_rcv_spkt(struct sk_buf
|
@@ -1934,6 +1935,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
sk = pt->af_packet_priv;
|
sk = pt->af_packet_priv;
|
||||||
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Yank back the headers [hope the device set this
|
* Yank back the headers [hope the device set this
|
||||||
@@ -1885,7 +1887,7 @@ static int packet_rcv_spkt(struct sk_buf
|
@@ -1946,7 +1948,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||||
* so that this procedure is noop.
|
* so that this procedure is noop.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
@@ -2131,12 +2133,12 @@ static int packet_rcv(struct sk_buff *sk
|
@@ -2192,12 +2194,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||||
unsigned int snaplen, res;
|
unsigned int snaplen, res;
|
||||||
bool is_drop_n_account = false;
|
bool is_drop_n_account = false;
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
@@ -2263,12 +2265,12 @@ static int tpacket_rcv(struct sk_buff *s
|
@@ -2324,12 +2326,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
|
||||||
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||||
goto drop;
|
goto drop;
|
||||||
|
|
||||||
@@ -3377,6 +3379,7 @@ static int packet_create(struct net *net
|
@@ -3443,6 +3445,7 @@ static int packet_create(struct net *net
|
||||||
mutex_init(&po->pg_vec_lock);
|
mutex_init(&po->pg_vec_lock);
|
||||||
po->rollover = NULL;
|
po->rollover = NULL;
|
||||||
po->prot_hook.func = packet_rcv;
|
po->prot_hook.func = packet_rcv;
|
||||||
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
if (sock->type == SOCK_PACKET)
|
if (sock->type == SOCK_PACKET)
|
||||||
po->prot_hook.func = packet_rcv_spkt;
|
po->prot_hook.func = packet_rcv_spkt;
|
||||||
@@ -4014,6 +4017,16 @@ packet_setsockopt(struct socket *sock, i
|
@@ -4096,6 +4099,16 @@ packet_setsockopt(struct socket *sock, i
|
||||||
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
default:
|
default:
|
||||||
return -ENOPROTOOPT;
|
return -ENOPROTOOPT;
|
||||||
}
|
}
|
||||||
@@ -4070,6 +4083,13 @@ static int packet_getsockopt(struct sock
|
@@ -4152,6 +4165,13 @@ static int packet_getsockopt(struct sock
|
||||||
case PACKET_VNET_HDR:
|
case PACKET_VNET_HDR:
|
||||||
val = po->has_vnet_hdr;
|
val = po->has_vnet_hdr;
|
||||||
break;
|
break;
|
||||||
|
@ -338,7 +338,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
|
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@@ -1545,6 +1706,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
@@ -1546,6 +1707,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||||
t->parms.link = p->link;
|
t->parms.link = p->link;
|
||||||
t->parms.proto = p->proto;
|
t->parms.proto = p->proto;
|
||||||
t->parms.fwmark = p->fwmark;
|
t->parms.fwmark = p->fwmark;
|
||||||
@ -353,7 +353,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
dst_cache_reset(&t->dst_cache);
|
dst_cache_reset(&t->dst_cache);
|
||||||
ip6_tnl_link_config(t);
|
ip6_tnl_link_config(t);
|
||||||
}
|
}
|
||||||
@@ -1579,6 +1748,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
@@ -1580,6 +1749,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
||||||
p->flowinfo = u->flowinfo;
|
p->flowinfo = u->flowinfo;
|
||||||
p->link = u->link;
|
p->link = u->link;
|
||||||
p->proto = u->proto;
|
p->proto = u->proto;
|
||||||
@ -361,7 +361,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
memcpy(p->name, u->name, sizeof(u->name));
|
memcpy(p->name, u->name, sizeof(u->name));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1965,6 +2135,15 @@ static int ip6_tnl_validate(struct nlatt
|
@@ -1967,6 +2137,15 @@ static int ip6_tnl_validate(struct nlatt
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,7 +377,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
static void ip6_tnl_netlink_parms(struct nlattr *data[],
|
static void ip6_tnl_netlink_parms(struct nlattr *data[],
|
||||||
struct __ip6_tnl_parm *parms)
|
struct __ip6_tnl_parm *parms)
|
||||||
{
|
{
|
||||||
@@ -2002,6 +2181,46 @@ static void ip6_tnl_netlink_parms(struct
|
@@ -2004,6 +2183,46 @@ static void ip6_tnl_netlink_parms(struct
|
||||||
|
|
||||||
if (data[IFLA_IPTUN_FWMARK])
|
if (data[IFLA_IPTUN_FWMARK])
|
||||||
parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
|
parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
|
||||||
@ -424,7 +424,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
|
static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
|
||||||
@@ -2085,6 +2304,12 @@ static void ip6_tnl_dellink(struct net_d
|
@@ -2087,6 +2306,12 @@ static void ip6_tnl_dellink(struct net_d
|
||||||
|
|
||||||
static size_t ip6_tnl_get_size(const struct net_device *dev)
|
static size_t ip6_tnl_get_size(const struct net_device *dev)
|
||||||
{
|
{
|
||||||
@ -437,7 +437,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
return
|
return
|
||||||
/* IFLA_IPTUN_LINK */
|
/* IFLA_IPTUN_LINK */
|
||||||
nla_total_size(4) +
|
nla_total_size(4) +
|
||||||
@@ -2114,6 +2339,24 @@ static size_t ip6_tnl_get_size(const str
|
@@ -2116,6 +2341,24 @@ static size_t ip6_tnl_get_size(const str
|
||||||
nla_total_size(0) +
|
nla_total_size(0) +
|
||||||
/* IFLA_IPTUN_FWMARK */
|
/* IFLA_IPTUN_FWMARK */
|
||||||
nla_total_size(4) +
|
nla_total_size(4) +
|
||||||
@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
0;
|
0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2121,6 +2364,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
@@ -2123,6 +2366,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||||
{
|
{
|
||||||
struct ip6_tnl *tunnel = netdev_priv(dev);
|
struct ip6_tnl *tunnel = netdev_priv(dev);
|
||||||
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
||||||
@ -472,7 +472,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
|
|
||||||
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
||||||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
|
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
|
||||||
@@ -2130,9 +2376,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
@@ -2132,9 +2378,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
||||||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
|
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
|
||||||
nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
|
nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
|
||||||
@ -501,7 +501,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
|
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
|
||||||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
|
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
|
||||||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
|
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
|
||||||
@@ -2172,6 +2436,7 @@ static const struct nla_policy ip6_tnl_p
|
@@ -2174,6 +2438,7 @@ static const struct nla_policy ip6_tnl_p
|
||||||
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
|
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
|
||||||
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
|
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
|
||||||
[IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },
|
[IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },
|
||||||
|
@ -66,7 +66,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||||||
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
static void rt_fibinfo_free(struct rtable __rcu **rtp)
|
||||||
--- a/net/ipv4/fib_trie.c
|
--- a/net/ipv4/fib_trie.c
|
||||||
+++ b/net/ipv4/fib_trie.c
|
+++ b/net/ipv4/fib_trie.c
|
||||||
@@ -2783,6 +2783,7 @@ static const char *const rtn_type_names[
|
@@ -2784,6 +2784,7 @@ static const char *const rtn_type_names[
|
||||||
[RTN_THROW] = "THROW",
|
[RTN_THROW] = "THROW",
|
||||||
[RTN_NAT] = "NAT",
|
[RTN_NAT] = "NAT",
|
||||||
[RTN_XRESOLVE] = "XRESOLVE",
|
[RTN_XRESOLVE] = "XRESOLVE",
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||||||
|
|
||||||
--- a/net/netfilter/nf_tables_api.c
|
--- a/net/netfilter/nf_tables_api.c
|
||||||
+++ b/net/netfilter/nf_tables_api.c
|
+++ b/net/netfilter/nf_tables_api.c
|
||||||
@@ -7958,7 +7958,7 @@ static int nft_register_flowtable_net_ho
|
@@ -8012,7 +8012,7 @@ static int nft_register_flowtable_net_ho
|
||||||
err = flowtable->data.type->setup(&flowtable->data,
|
err = flowtable->data.type->setup(&flowtable->data,
|
||||||
hook->ops.dev,
|
hook->ops.dev,
|
||||||
FLOW_BLOCK_BIND);
|
FLOW_BLOCK_BIND);
|
||||||
|
@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||||
@@ -7079,6 +7079,7 @@ static int mv88e6xxx_register_switch(str
|
@@ -7080,6 +7080,7 @@ static int mv88e6xxx_register_switch(str
|
||||||
ds->ops = &mv88e6xxx_switch_ops;
|
ds->ops = &mv88e6xxx_switch_ops;
|
||||||
ds->ageing_time_min = chip->info->age_time_coeff;
|
ds->ageing_time_min = chip->info->age_time_coeff;
|
||||||
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
||||||
|
@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/b53/b53_common.c
|
--- a/drivers/net/dsa/b53/b53_common.c
|
||||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||||
@@ -2466,6 +2466,19 @@ static const struct b53_chip_data b53_sw
|
@@ -2469,6 +2469,19 @@ static const struct b53_chip_data b53_sw
|
||||||
.jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX,
|
.jumbo_size_reg = B53_JUMBO_MAX_SIZE_63XX,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|||||||
|
|
||||||
--- a/drivers/net/dsa/b53/b53_common.c
|
--- a/drivers/net/dsa/b53/b53_common.c
|
||||||
+++ b/drivers/net/dsa/b53/b53_common.c
|
+++ b/drivers/net/dsa/b53/b53_common.c
|
||||||
@@ -2613,6 +2613,20 @@ static const struct b53_chip_data b53_sw
|
@@ -2616,6 +2616,20 @@ static const struct b53_chip_data b53_sw
|
||||||
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
|
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
|
||||||
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
|
.jumbo_size_reg = B53_JUMBO_MAX_SIZE,
|
||||||
},
|
},
|
||||||
@ -121,7 +121,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
|||||||
};
|
};
|
||||||
|
|
||||||
static int b53_switch_init(struct b53_device *dev)
|
static int b53_switch_init(struct b53_device *dev)
|
||||||
@@ -2790,6 +2804,7 @@ int b53_switch_detect(struct b53_device
|
@@ -2793,6 +2807,7 @@ int b53_switch_detect(struct b53_device
|
||||||
case BCM53012_DEVICE_ID:
|
case BCM53012_DEVICE_ID:
|
||||||
case BCM53018_DEVICE_ID:
|
case BCM53018_DEVICE_ID:
|
||||||
case BCM53019_DEVICE_ID:
|
case BCM53019_DEVICE_ID:
|
||||||
|
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
ata_sff_port_init(ap);
|
ata_sff_port_init(ap);
|
||||||
|
|
||||||
return ap;
|
return ap;
|
||||||
@@ -5473,6 +5492,12 @@ static void ata_host_release(struct kref
|
@@ -5476,6 +5495,12 @@ static void ata_host_release(struct kref
|
||||||
|
|
||||||
kfree(ap->pmp_link);
|
kfree(ap->pmp_link);
|
||||||
kfree(ap->slave_link);
|
kfree(ap->slave_link);
|
||||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|||||||
kfree(ap);
|
kfree(ap);
|
||||||
host->ports[i] = NULL;
|
host->ports[i] = NULL;
|
||||||
}
|
}
|
||||||
@@ -5875,7 +5900,23 @@ int ata_host_register(struct ata_host *h
|
@@ -5880,7 +5905,23 @@ int ata_host_register(struct ata_host *h
|
||||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||||
host->ports[i]->local_port_no = i + 1;
|
host->ports[i]->local_port_no = i + 1;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
--- a/drivers/net/usb/qmi_wwan.c
|
||||||
|
+++ b/drivers/net/usb/qmi_wwan.c
|
||||||
|
@@ -1437,6 +1437,9 @@ static const struct usb_device_id produc
|
||||||
|
{QMI_QUIRK_SET_DTR(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */
|
||||||
|
{QMI_QUIRK_SET_DTR(0x33f8, 0x0104, 4)}, /* Rolling RW101 RMNET */
|
||||||
|
{QMI_FIXED_INTF(0x2dee, 0x4d22, 5)}, /* MeiG Smart SRM825L */
|
||||||
|
+ {QMI_FIXED_INTF(0x2077, 0x2002, 4)}, /* T&W TW04C */
|
||||||
|
+ {QMI_FIXED_INTF(0x2077, 0x2003, 4)}, /* T&W TW12G */
|
||||||
|
+ {QMI_FIXED_INTF(0x2077, 0x2004, 4)}, /* T&W TW510M */
|
||||||
|
|
||||||
|
/* 4. Gobi 1000 devices */
|
||||||
|
{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */
|
||||||
|
--- a/drivers/usb/serial/option.c
|
||||||
|
+++ b/drivers/usb/serial/option.c
|
||||||
|
@@ -2324,9 +2324,13 @@ static const struct usb_device_id option
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a06, 0xff) }, /* Fibocom FM650-CN (RNDIS mode) */
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a07, 0xff) }, /* Fibocom FM650-CN (MBIM mode) */
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */
|
||||||
|
+ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1402, 0xff) }, /* GosunCn GM800 (Download mode) */
|
||||||
|
+ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1403, 0xff) }, /* GosunCn GM800 (rmnet, old) */
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) }, /* GosunCn GM500 RNDIS */
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1405, 0xff) }, /* GosunCn GM500 MBIM */
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) }, /* GosunCn GM500 ECM/NCM */
|
||||||
|
+ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1421, 0xff) }, /* GosunCn GM800 (rmnet) */
|
||||||
|
+ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1422, 0xff) }, /* GosunCn GM800 (EAP) */
|
||||||
|
{ USB_DEVICE(0x33f8, 0x0104), /* Rolling RW101-GL (laptop RMNET) */
|
||||||
|
.driver_info = RSVD(4) | RSVD(5) },
|
||||||
|
{ USB_DEVICE_INTERFACE_CLASS(0x33f8, 0x01a2, 0xff) }, /* Rolling RW101-GL (laptop MBIM) */
|
@ -32,7 +32,7 @@ Signed-off-by: Rob Herring <robh@kernel.org>
|
|||||||
|
|
||||||
--- a/scripts/Makefile.lib
|
--- a/scripts/Makefile.lib
|
||||||
+++ b/scripts/Makefile.lib
|
+++ b/scripts/Makefile.lib
|
||||||
@@ -408,6 +408,9 @@ $(obj)/%.dtb: $(src)/%.dts $(DTC) $(DT_T
|
@@ -412,6 +412,9 @@ $(obj)/%.dtb: $(src)/%.dts $(DTC) $(DT_T
|
||||||
$(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE
|
$(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE
|
||||||
$(call if_changed_dep,dtc)
|
$(call if_changed_dep,dtc)
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
|||||||
ret = clk_bulk_prepare_enable(MSDC_NR_CLOCKS, host->bulk_clks);
|
ret = clk_bulk_prepare_enable(MSDC_NR_CLOCKS, host->bulk_clks);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(host->dev, "Cannot enable pclk/axi/ahb clock gates\n");
|
dev_err(host->dev, "Cannot enable pclk/axi/ahb clock gates\n");
|
||||||
@@ -2670,6 +2673,15 @@ static int msdc_drv_probe(struct platfor
|
@@ -2666,6 +2669,15 @@ static int msdc_drv_probe(struct platfor
|
||||||
goto host_free;
|
goto host_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
|||||||
bd[j].bd_info &= ~BDMA_DESC_CHECKSUM;
|
bd[j].bd_info &= ~BDMA_DESC_CHECKSUM;
|
||||||
bd[j].bd_info |= msdc_dma_calcs((u8 *)(&bd[j]), 16) << 8;
|
bd[j].bd_info |= msdc_dma_calcs((u8 *)(&bd[j]), 16) << 8;
|
||||||
}
|
}
|
||||||
@@ -1229,7 +1229,7 @@ static bool msdc_cmd_done(struct msdc_ho
|
@@ -1227,7 +1227,7 @@ static bool msdc_cmd_done(struct msdc_ho
|
||||||
!host->hs400_tuning))
|
(!mmc_op_tuning(cmd->opcode) && !host->hs400_tuning))
|
||||||
/*
|
/*
|
||||||
* should not clear fifo/interrupt as the tune data
|
* should not clear fifo/interrupt as the tune data
|
||||||
- * may have alreay come when cmd19/cmd21 gets response
|
- * may have alreay come when cmd19/cmd21 gets response
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
From b98e7e8daf0ebab9dcc36812378a71e1be0b5089 Mon Sep 17 00:00:00 2001
|
|
||||||
From: ChanWoo Lee <cw9316.lee@samsung.com>
|
|
||||||
Date: Thu, 24 Nov 2022 17:00:31 +0900
|
|
||||||
Subject: [PATCH 4/6] mmc: Avoid open coding by using mmc_op_tuning()
|
|
||||||
|
|
||||||
Replace code with the already defined function. No functional changes.
|
|
||||||
|
|
||||||
Signed-off-by: ChanWoo Lee <cw9316.lee@samsung.com>
|
|
||||||
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
|
|
||||||
Link: https://lore.kernel.org/r/20221124080031.14690-1-cw9316.lee@samsung.com
|
|
||||||
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
|
||||||
---
|
|
||||||
drivers/mmc/host/mtk-sd.c | 8 ++------
|
|
||||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
--- a/drivers/mmc/host/mtk-sd.c
|
|
||||||
+++ b/drivers/mmc/host/mtk-sd.c
|
|
||||||
@@ -1224,9 +1224,7 @@ static bool msdc_cmd_done(struct msdc_ho
|
|
||||||
|
|
||||||
if (!sbc_error && !(events & MSDC_INT_CMDRDY)) {
|
|
||||||
if (events & MSDC_INT_CMDTMO ||
|
|
||||||
- (cmd->opcode != MMC_SEND_TUNING_BLOCK &&
|
|
||||||
- cmd->opcode != MMC_SEND_TUNING_BLOCK_HS200 &&
|
|
||||||
- !host->hs400_tuning))
|
|
||||||
+ (!mmc_op_tuning(cmd->opcode) && !host->hs400_tuning))
|
|
||||||
/*
|
|
||||||
* should not clear fifo/interrupt as the tune data
|
|
||||||
* may have already come when cmd19/cmd21 gets response
|
|
||||||
@@ -1320,9 +1318,7 @@ static void msdc_cmd_next(struct msdc_ho
|
|
||||||
{
|
|
||||||
if ((cmd->error &&
|
|
||||||
!(cmd->error == -EILSEQ &&
|
|
||||||
- (cmd->opcode == MMC_SEND_TUNING_BLOCK ||
|
|
||||||
- cmd->opcode == MMC_SEND_TUNING_BLOCK_HS200 ||
|
|
||||||
- host->hs400_tuning))) ||
|
|
||||||
+ (mmc_op_tuning(cmd->opcode) || host->hs400_tuning))) ||
|
|
||||||
(mrq->sbc && mrq->sbc->error))
|
|
||||||
msdc_request_done(host, mrq);
|
|
||||||
else if (cmd == mrq->sbc)
|
|
@ -31,8 +31,8 @@
|
|||||||
static int mtk_pinconf_bias_set_pullsel_pullen(struct mtk_pinctrl *hw,
|
static int mtk_pinconf_bias_set_pullsel_pullen(struct mtk_pinctrl *hw,
|
||||||
const struct mtk_pin_desc *desc,
|
const struct mtk_pin_desc *desc,
|
||||||
u32 pullup, u32 arg)
|
u32 pullup, u32 arg)
|
||||||
@@ -755,6 +779,12 @@ int mtk_pinconf_bias_set_combo(struct mt
|
@@ -758,6 +782,12 @@ int mtk_pinconf_bias_set_combo(struct mt
|
||||||
return err;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (try_all_type & MTK_PULL_PD_TYPE) {
|
+ if (try_all_type & MTK_PULL_PD_TYPE) {
|
||||||
@ -44,7 +44,7 @@
|
|||||||
if (try_all_type & MTK_PULL_PU_PD_TYPE) {
|
if (try_all_type & MTK_PULL_PU_PD_TYPE) {
|
||||||
err = mtk_pinconf_bias_set_pu_pd(hw, desc, pullup, arg);
|
err = mtk_pinconf_bias_set_pu_pd(hw, desc, pullup, arg);
|
||||||
if (!err)
|
if (!err)
|
||||||
@@ -875,6 +905,29 @@ out:
|
@@ -878,6 +908,29 @@ out:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,19 +74,19 @@
|
|||||||
static int mtk_pinconf_bias_get_pullsel_pullen(struct mtk_pinctrl *hw,
|
static int mtk_pinconf_bias_get_pullsel_pullen(struct mtk_pinctrl *hw,
|
||||||
const struct mtk_pin_desc *desc,
|
const struct mtk_pin_desc *desc,
|
||||||
u32 *pullup, u32 *enable)
|
u32 *pullup, u32 *enable)
|
||||||
@@ -943,6 +996,12 @@ int mtk_pinconf_bias_get_combo(struct mt
|
@@ -947,6 +1000,12 @@ int mtk_pinconf_bias_get_combo(struct mt
|
||||||
if (!err)
|
return 0;
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
+
|
|
||||||
+ if (try_all_type & MTK_PULL_PD_TYPE) {
|
+ if (try_all_type & MTK_PULL_PD_TYPE) {
|
||||||
+ err = mtk_pinconf_bias_get_pd(hw, desc, pullup, enable);
|
+ err = mtk_pinconf_bias_get_pd(hw, desc, pullup, enable);
|
||||||
+ if (!err)
|
+ if (!err)
|
||||||
+ return err;
|
+ return err;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
if (try_all_type & MTK_PULL_PU_PD_TYPE) {
|
if (try_all_type & MTK_PULL_PU_PD_TYPE) {
|
||||||
err = mtk_pinconf_bias_get_pu_pd(hw, desc, pullup, enable);
|
err = mtk_pinconf_bias_get_pu_pd(hw, desc, pullup, enable);
|
||||||
|
if (!err)
|
||||||
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
|
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
|
||||||
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
|
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h
|
||||||
@@ -24,6 +24,7 @@
|
@@ -24,6 +24,7 @@
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
||||||
--- a/arch/arm64/Kconfig
|
--- a/arch/arm64/Kconfig
|
||||||
+++ b/arch/arm64/Kconfig
|
+++ b/arch/arm64/Kconfig
|
||||||
@@ -2239,6 +2239,14 @@ config CMDLINE_FORCE
|
@@ -2277,6 +2277,14 @@ config CMDLINE_FORCE
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user