Merge remote-tracking branch 'sm8350/lineage-20' into lineage-22.2

* sm8350/lineage-20:
  ANDROID: Fix compilation error with huge_pmd_share()
  BACKPORT: mm/gup: Remove enfornced COW mechanism
  UPSTREAM: mm/userfaultfd: selftests: fix memory corruption with thp enabled
  UPSTREAM: mm/shmem: use page_mapping() to detect page cache for uffd continue
  UPSTREAM: mm/userfaultfd: fix memory corruption due to writeprotect
  UPSTREAM: mm: hugetlb: add missing cache flushing in hugetlb_unshare_all_pmds()
  BACKPORT: userfaultfd: wp: declare _UFFDIO_WRITEPROTECT conditionally
  BACKPORT: mm, mempolicy: fix up gup usage in lookup_node
  UPSTREAM: mm/mempolicy: Allow lookup_node() to handle fatal signal
  UPSTREAM: mm/gup: Let __get_user_pages_locked() return -EINTR for fatal signal
  UPSTREAM: mm/gup: fix fixup_user_fault() on multiple retries
  UPSTREAM: mm/gup: Mark lock taken only after a successful retake
  UPSTREAM: mm/userfaultfd: honor FAULT_FLAG_KILLABLE in fault path
  UPSTREAM: mm/gup: allow to react to fatal signals
  UPSTREAM: mm/gup: allow VM_FAULT_RETRY for multiple times
  UPSTREAM: mm: allow VM_FAULT_RETRY for multiple times
  UPSTREAM: mm: introduce FAULT_FLAG_INTERRUPTIBLE
  UPSTREAM: mm: introduce FAULT_FLAG_DEFAULT
  UPSTREAM: userfaultfd: don't retake mmap_sem to emulate NOPAGE
  UPSTREAM: mm: return faster for non-fatal signals in user mode faults
  ...

Change-Id: I9d715b94bd5e1daaf1c3857facb03166aeba69e5
This commit is contained in:
Michael Bestas 2025-05-18 11:12:21 +03:00
commit 66b9cabfb9
No known key found for this signature in database
491 changed files with 5963 additions and 3241 deletions

View file

@ -490,6 +490,8 @@ MODULE_DEVICE_TABLE(pci, ali1535_ids);
static int ali1535_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
int ret;
if (ali1535_setup(dev)) {
dev_warn(&dev->dev,
"ALI1535 not detected, module not inserted.\n");
@ -501,7 +503,15 @@ static int ali1535_probe(struct pci_dev *dev, const struct pci_device_id *id)
snprintf(ali1535_adapter.name, sizeof(ali1535_adapter.name),
"SMBus ALI1535 adapter at %04x", ali1535_offset);
return i2c_add_adapter(&ali1535_adapter);
ret = i2c_add_adapter(&ali1535_adapter);
if (ret)
goto release_region;
return 0;
release_region:
release_region(ali1535_smba, ALI1535_SMB_IOSIZE);
return ret;
}
static void ali1535_remove(struct pci_dev *dev)

View file

@ -473,6 +473,8 @@ MODULE_DEVICE_TABLE (pci, ali15x3_ids);
static int ali15x3_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
int ret;
if (ali15x3_setup(dev)) {
dev_err(&dev->dev,
"ALI15X3 not detected, module not inserted.\n");
@ -484,7 +486,15 @@ static int ali15x3_probe(struct pci_dev *dev, const struct pci_device_id *id)
snprintf(ali15x3_adapter.name, sizeof(ali15x3_adapter.name),
"SMBus ALI15X3 adapter at %04x", ali15x3_smba);
return i2c_add_adapter(&ali15x3_adapter);
ret = i2c_add_adapter(&ali15x3_adapter);
if (ret)
goto release_region;
return 0;
release_region:
release_region(ali15x3_smba, ALI15X3_SMB_IOSIZE);
return ret;
}
static void ali15x3_remove(struct pci_dev *dev)

View file

@ -1049,23 +1049,6 @@ static int omap_i2c_transmit_data(struct omap_i2c_dev *omap, u8 num_bytes,
return 0;
}
static irqreturn_t
omap_i2c_isr(int irq, void *dev_id)
{
struct omap_i2c_dev *omap = dev_id;
irqreturn_t ret = IRQ_HANDLED;
u16 mask;
u16 stat;
stat = omap_i2c_read_reg(omap, OMAP_I2C_STAT_REG);
mask = omap_i2c_read_reg(omap, OMAP_I2C_IE_REG) & ~OMAP_I2C_STAT_NACK;
if (stat & mask)
ret = IRQ_WAKE_THREAD;
return ret;
}
static int omap_i2c_xfer_data(struct omap_i2c_dev *omap)
{
u16 bits;
@ -1096,8 +1079,13 @@ static int omap_i2c_xfer_data(struct omap_i2c_dev *omap)
}
if (stat & OMAP_I2C_STAT_NACK) {
err |= OMAP_I2C_STAT_NACK;
omap->cmd_err |= OMAP_I2C_STAT_NACK;
omap_i2c_ack_stat(omap, OMAP_I2C_STAT_NACK);
if (!(stat & ~OMAP_I2C_STAT_NACK)) {
err = -EAGAIN;
break;
}
}
if (stat & OMAP_I2C_STAT_AL) {
@ -1480,7 +1468,7 @@ omap_i2c_probe(struct platform_device *pdev)
IRQF_NO_SUSPEND, pdev->name, omap);
else
r = devm_request_threaded_irq(&pdev->dev, omap->irq,
omap_i2c_isr, omap_i2c_isr_thread,
NULL, omap_i2c_isr_thread,
IRQF_NO_SUSPEND | IRQF_ONESHOT,
pdev->name, omap);

View file

@ -509,6 +509,8 @@ MODULE_DEVICE_TABLE(pci, sis630_ids);
static int sis630_probe(struct pci_dev *dev, const struct pci_device_id *id)
{
int ret;
if (sis630_setup(dev)) {
dev_err(&dev->dev,
"SIS630 compatible bus not detected, "
@ -522,7 +524,15 @@ static int sis630_probe(struct pci_dev *dev, const struct pci_device_id *id)
snprintf(sis630_adapter.name, sizeof(sis630_adapter.name),
"SMBus SIS630 adapter at %04x", smbus_base + SMB_STS);
return i2c_add_adapter(&sis630_adapter);
ret = i2c_add_adapter(&sis630_adapter);
if (ret)
goto release_region;
return 0;
release_region:
release_region(smbus_base + SMB_STS, SIS630_SMB_IOREGION);
return ret;
}
static void sis630_remove(struct pci_dev *dev)