Skip to content

Commit

Permalink
Merge tag 'v6.1.52' into 6.1
Browse files Browse the repository at this point in the history
This is the 6.1.52 stable release
  • Loading branch information
xanmod committed Sep 7, 2023
2 parents a0edb9d + 59b13c2 commit 0a24745
Show file tree
Hide file tree
Showing 42 changed files with 208 additions and 88 deletions.
46 changes: 46 additions & 0 deletions Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt
Expand Up @@ -23,6 +23,9 @@ Optional properties:
1 = active low.
- irda-mode-ports: An array that lists the indices of the port that
should operate in IrDA mode.
- nxp,modem-control-line-ports: An array that lists the indices of the port that
should have shared GPIO lines configured as
modem control lines.

Example:
sc16is750: sc16is750@51 {
Expand All @@ -35,6 +38,26 @@ Example:
#gpio-cells = <2>;
};

sc16is752: sc16is752@53 {
compatible = "nxp,sc16is752";
reg = <0x53>;
clocks = <&clk20m>;
interrupt-parent = <&gpio3>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
gpio-controller; /* Port 0 as GPIOs */
#gpio-cells = <2>;
};

sc16is752: sc16is752@54 {
compatible = "nxp,sc16is752";
reg = <0x54>;
clocks = <&clk20m>;
interrupt-parent = <&gpio3>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
};

* spi as bus

Required properties:
Expand All @@ -59,6 +82,9 @@ Optional properties:
1 = active low.
- irda-mode-ports: An array that lists the indices of the port that
should operate in IrDA mode.
- nxp,modem-control-line-ports: An array that lists the indices of the port that
should have shared GPIO lines configured as
modem control lines.

Example:
sc16is750: sc16is750@0 {
Expand All @@ -70,3 +96,23 @@ Example:
gpio-controller;
#gpio-cells = <2>;
};

sc16is752: sc16is752@1 {
compatible = "nxp,sc16is752";
reg = <1>;
clocks = <&clk20m>;
interrupt-parent = <&gpio3>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */
gpio-controller; /* Port 0 as GPIOs */
#gpio-cells = <2>;
};

sc16is752: sc16is752@2 {
compatible = "nxp,sc16is752";
reg = <2>;
clocks = <&clk20m>;
interrupt-parent = <&gpio3>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */
};
2 changes: 1 addition & 1 deletion Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 1
SUBLEVEL = 51
SUBLEVEL = 52
EXTRAVERSION =
NAME = Curry Ramen

Expand Down
2 changes: 0 additions & 2 deletions arch/arm/mach-pxa/sharpsl_pm.c
Expand Up @@ -220,8 +220,6 @@ void sharpsl_battery_kick(void)
{
schedule_delayed_work(&sharpsl_bat, msecs_to_jiffies(125));
}
EXPORT_SYMBOL(sharpsl_battery_kick);


static void sharpsl_battery_thread(struct work_struct *private_)
{
Expand Down
14 changes: 1 addition & 13 deletions arch/arm/mach-pxa/spitz.c
Expand Up @@ -9,7 +9,6 @@
*/

#include <linux/kernel.h>
#include <linux/module.h> /* symbol_get ; symbol_put */
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/gpio_keys.h>
Expand Down Expand Up @@ -510,17 +509,6 @@ static struct ads7846_platform_data spitz_ads7846_info = {
.wait_for_sync = spitz_ads7846_wait_for_hsync,
};

static void spitz_bl_kick_battery(void)
{
void (*kick_batt)(void);

kick_batt = symbol_get(sharpsl_battery_kick);
if (kick_batt) {
kick_batt();
symbol_put(sharpsl_battery_kick);
}
}

static struct gpiod_lookup_table spitz_lcdcon_gpio_table = {
.dev_id = "spi2.1",
.table = {
Expand Down Expand Up @@ -548,7 +536,7 @@ static struct corgi_lcd_platform_data spitz_lcdcon_info = {
.max_intensity = 0x2f,
.default_intensity = 0x1f,
.limit_mask = 0x0b,
.kick_battery = spitz_bl_kick_battery,
.kick_battery = sharpsl_battery_kick,
};

static struct spi_board_info spitz_spi_devices[] = {
Expand Down
8 changes: 1 addition & 7 deletions arch/mips/alchemy/devboards/db1000.c
Expand Up @@ -14,7 +14,6 @@
#include <linux/interrupt.h>
#include <linux/leds.h>
#include <linux/mmc/host.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/spi/spi.h>
Expand Down Expand Up @@ -167,12 +166,7 @@ static struct platform_device db1x00_audio_dev = {

static irqreturn_t db1100_mmc_cd(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);
/* link against CONFIG_MMC=m */
mmc_cd = symbol_get(mmc_detect_change);
mmc_cd(ptr, msecs_to_jiffies(500));
symbol_put(mmc_detect_change);

mmc_detect_change(ptr, msecs_to_jiffies(500));
return IRQ_HANDLED;
}

Expand Down
19 changes: 2 additions & 17 deletions arch/mips/alchemy/devboards/db1200.c
Expand Up @@ -10,7 +10,6 @@
#include <linux/gpio.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/leds.h>
Expand Down Expand Up @@ -340,14 +339,7 @@ static irqreturn_t db1200_mmc_cd(int irq, void *ptr)

static irqreturn_t db1200_mmc_cdfn(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);

/* link against CONFIG_MMC=m */
mmc_cd = symbol_get(mmc_detect_change);
if (mmc_cd) {
mmc_cd(ptr, msecs_to_jiffies(200));
symbol_put(mmc_detect_change);
}
mmc_detect_change(ptr, msecs_to_jiffies(200));

msleep(100); /* debounce */
if (irq == DB1200_SD0_INSERT_INT)
Expand Down Expand Up @@ -431,14 +423,7 @@ static irqreturn_t pb1200_mmc1_cd(int irq, void *ptr)

static irqreturn_t pb1200_mmc1_cdfn(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);

/* link against CONFIG_MMC=m */
mmc_cd = symbol_get(mmc_detect_change);
if (mmc_cd) {
mmc_cd(ptr, msecs_to_jiffies(200));
symbol_put(mmc_detect_change);
}
mmc_detect_change(ptr, msecs_to_jiffies(200));

msleep(100); /* debounce */
if (irq == PB1200_SD1_INSERT_INT)
Expand Down
10 changes: 1 addition & 9 deletions arch/mips/alchemy/devboards/db1300.c
Expand Up @@ -17,7 +17,6 @@
#include <linux/interrupt.h>
#include <linux/ata_platform.h>
#include <linux/mmc/host.h>
#include <linux/module.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/platnand.h>
#include <linux/platform_device.h>
Expand Down Expand Up @@ -459,14 +458,7 @@ static irqreturn_t db1300_mmc_cd(int irq, void *ptr)

static irqreturn_t db1300_mmc_cdfn(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);

/* link against CONFIG_MMC=m. We can only be called once MMC core has
* initialized the controller, so symbol_get() should always succeed.
*/
mmc_cd = symbol_get(mmc_detect_change);
mmc_cd(ptr, msecs_to_jiffies(200));
symbol_put(mmc_detect_change);
mmc_detect_change(ptr, msecs_to_jiffies(200));

msleep(100); /* debounce */
if (irq == DB1300_SD1_INSERT_INT)
Expand Down
1 change: 1 addition & 0 deletions drivers/bluetooth/btsdio.c
Expand Up @@ -357,6 +357,7 @@ static void btsdio_remove(struct sdio_func *func)
if (!data)
return;

cancel_work_sync(&data->work);
hdev = data->hdev;

sdio_set_drvdata(func, NULL);
Expand Down
2 changes: 1 addition & 1 deletion drivers/firmware/stratix10-svc.c
Expand Up @@ -756,7 +756,7 @@ svc_create_memory_pool(struct platform_device *pdev,
paddr = begin;
size = end - begin;
va = devm_memremap(dev, paddr, size, MEMREMAP_WC);
if (!va) {
if (IS_ERR(va)) {
dev_err(dev, "fail to remap shared memory\n");
return ERR_PTR(-EINVAL);
}
Expand Down
1 change: 1 addition & 0 deletions drivers/fsi/fsi-master-ast-cf.c
Expand Up @@ -1441,3 +1441,4 @@ static struct platform_driver fsi_master_acf = {

module_platform_driver(fsi_master_acf);
MODULE_LICENSE("GPL");
MODULE_FIRMWARE(FW_FILE_NAME);
1 change: 1 addition & 0 deletions drivers/hid/wacom.h
Expand Up @@ -150,6 +150,7 @@ struct wacom_remote {
struct input_dev *input;
bool registered;
struct wacom_battery battery;
ktime_t active_time;
} remotes[WACOM_MAX_REMOTES];
};

Expand Down
25 changes: 21 additions & 4 deletions drivers/hid/wacom_sys.c
Expand Up @@ -2527,6 +2527,18 @@ static void wacom_wireless_work(struct work_struct *work)
return;
}

static void wacom_remote_destroy_battery(struct wacom *wacom, int index)
{
struct wacom_remote *remote = wacom->remote;

if (remote->remotes[index].battery.battery) {
devres_release_group(&wacom->hdev->dev,
&remote->remotes[index].battery.bat_desc);
remote->remotes[index].battery.battery = NULL;
remote->remotes[index].active_time = 0;
}
}

static void wacom_remote_destroy_one(struct wacom *wacom, unsigned int index)
{
struct wacom_remote *remote = wacom->remote;
Expand All @@ -2541,17 +2553,14 @@ static void wacom_remote_destroy_one(struct wacom *wacom, unsigned int index)
remote->remotes[i].registered = false;
spin_unlock_irqrestore(&remote->remote_lock, flags);

if (remote->remotes[i].battery.battery)
devres_release_group(&wacom->hdev->dev,
&remote->remotes[i].battery.bat_desc);
wacom_remote_destroy_battery(wacom, i);

if (remote->remotes[i].group.name)
devres_release_group(&wacom->hdev->dev,
&remote->remotes[i]);

remote->remotes[i].serial = 0;
remote->remotes[i].group.name = NULL;
remote->remotes[i].battery.battery = NULL;
wacom->led.groups[i].select = WACOM_STATUS_UNKNOWN;
}
}
Expand Down Expand Up @@ -2636,6 +2645,9 @@ static int wacom_remote_attach_battery(struct wacom *wacom, int index)
if (remote->remotes[index].battery.battery)
return 0;

if (!remote->remotes[index].active_time)
return 0;

if (wacom->led.groups[index].select == WACOM_STATUS_UNKNOWN)
return 0;

Expand All @@ -2651,6 +2663,7 @@ static void wacom_remote_work(struct work_struct *work)
{
struct wacom *wacom = container_of(work, struct wacom, remote_work);
struct wacom_remote *remote = wacom->remote;
ktime_t kt = ktime_get();
struct wacom_remote_data data;
unsigned long flags;
unsigned int count;
Expand All @@ -2677,6 +2690,10 @@ static void wacom_remote_work(struct work_struct *work)
serial = data.remote[i].serial;
if (data.remote[i].connected) {

if (kt - remote->remotes[i].active_time > WACOM_REMOTE_BATTERY_TIMEOUT
&& remote->remotes[i].active_time != 0)
wacom_remote_destroy_battery(wacom, i);

if (remote->remotes[i].serial == serial) {
wacom_remote_attach_battery(wacom, i);
continue;
Expand Down
1 change: 1 addition & 0 deletions drivers/hid/wacom_wac.c
Expand Up @@ -1129,6 +1129,7 @@ static int wacom_remote_irq(struct wacom_wac *wacom_wac, size_t len)
if (index < 0 || !remote->remotes[index].registered)
goto out;

remote->remotes[i].active_time = ktime_get();
input = remote->remotes[index].input;

input_report_key(input, BTN_0, (data[9] & 0x01));
Expand Down
1 change: 1 addition & 0 deletions drivers/hid/wacom_wac.h
Expand Up @@ -13,6 +13,7 @@
#define WACOM_NAME_MAX 64
#define WACOM_MAX_REMOTES 5
#define WACOM_STATUS_UNKNOWN 255
#define WACOM_REMOTE_BATTERY_TIMEOUT 21000000000ll

/* packet length for individual models */
#define WACOM_PKGLEN_BBFUN 9
Expand Down
5 changes: 3 additions & 2 deletions drivers/mmc/host/Kconfig
Expand Up @@ -528,11 +528,12 @@ config MMC_ALCOR
of Alcor Micro PCI-E card reader

config MMC_AU1X
tristate "Alchemy AU1XX0 MMC Card Interface support"
bool "Alchemy AU1XX0 MMC Card Interface support"
depends on MIPS_ALCHEMY
depends on MMC=y
help
This selects the AMD Alchemy(R) Multimedia card interface.
If you have a Alchemy platform with a MMC slot, say Y or M here.
If you have a Alchemy platform with a MMC slot, say Y here.

If unsure, say N.

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/freescale/enetc/enetc_ptp.c
Expand Up @@ -8,7 +8,7 @@
#include "enetc.h"

int enetc_phc_index = -1;
EXPORT_SYMBOL(enetc_phc_index);
EXPORT_SYMBOL_GPL(enetc_phc_index);

static struct ptp_clock_info enetc_ptp_caps = {
.owner = THIS_MODULE,
Expand Down
7 changes: 5 additions & 2 deletions drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c
Expand Up @@ -465,6 +465,7 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
BSS_CHANGED_BEACON_ENABLED));
bool inband_disc = !!(changed & (BSS_CHANGED_UNSOL_BCAST_PROBE_RESP |
BSS_CHANGED_FILS_DISCOVERY));
bool amsdu_en = wcid->amsdu;

if (vif) {
struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv;
Expand Down Expand Up @@ -524,12 +525,14 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
txwi[4] = 0;

val = FIELD_PREP(MT_TXD5_PID, pid);
if (pid >= MT_PACKET_ID_FIRST)
if (pid >= MT_PACKET_ID_FIRST) {
val |= MT_TXD5_TX_STATUS_HOST;
amsdu_en = amsdu_en && !is_mt7921(dev);
}

txwi[5] = cpu_to_le32(val);
txwi[6] = 0;
txwi[7] = wcid->amsdu ? cpu_to_le32(MT_TXD7_HW_AMSDU) : 0;
txwi[7] = amsdu_en ? cpu_to_le32(MT_TXD7_HW_AMSDU) : 0;

if (is_8023)
mt76_connac2_mac_write_txwi_8023(txwi, skb, wcid);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/mediatek/mt76/mt7921/main.c
Expand Up @@ -1280,7 +1280,7 @@ mt7921_set_antenna(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant)
return -EINVAL;

if ((BIT(hweight8(tx_ant)) - 1) != tx_ant)
tx_ant = BIT(ffs(tx_ant) - 1) - 1;
return -EINVAL;

mt7921_mutex_acquire(dev);

Expand Down
4 changes: 2 additions & 2 deletions drivers/pinctrl/pinctrl-amd.c
Expand Up @@ -748,7 +748,7 @@ static int amd_pinconf_get(struct pinctrl_dev *pctldev,
break;

default:
dev_err(&gpio_dev->pdev->dev, "Invalid config param %04x\n",
dev_dbg(&gpio_dev->pdev->dev, "Invalid config param %04x\n",
param);
return -ENOTSUPP;
}
Expand Down Expand Up @@ -798,7 +798,7 @@ static int amd_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
break;

default:
dev_err(&gpio_dev->pdev->dev,
dev_dbg(&gpio_dev->pdev->dev,
"Invalid config param %04x\n", param);
ret = -ENOTSUPP;
}
Expand Down

0 comments on commit 0a24745

Please sign in to comment.