Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4076dc42 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge branch 'android11-5.4' into 'android11-5.4-lts'



Sync up with android11-5.4 for the following commits:

2385b6cc ANDROID: ABI: Update allowed list for QCOM
a151ec48 FROMGIT: binder: make sure fd closes complete
ad2e92f9 FROMLIST: HID: Support Microsoft SPI touch digitizer driver

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: I793dbccd0029effbe6acfe92445dfcfc87c0ab46
parents 5e10f367 2385b6cc
Loading
Loading
Loading
Loading
+41 −33
Original line number Diff line number Diff line
@@ -6,12 +6,12 @@
  add_wait_queue
  adjust_managed_page_count
  alarm_cancel
  alarm_expires_remaining
  alarm_init
  alarm_start_relative
  alarm_expires_remaining
  alarmtimer_get_rtcdev
  alloc_chrdev_region
  __alloc_disk_node
  alarmtimer_get_rtcdev
  alloc_etherdev_mqs
  alloc_io_pgtable_ops
  alloc_netdev_mqs
@@ -44,6 +44,7 @@
  backlight_device_set_brightness
  backlight_device_unregister
  bin2hex
  bio_crypt_should_process
  __bitmap_clear
  bitmap_find_free_region
  bitmap_find_next_zero_area_off
@@ -109,10 +110,10 @@
  bpf_prog_put
  bpf_prog_sub
  bpf_stats_enabled_key
  bpf_trace_run1
  bpf_trace_run10
  bpf_trace_run11
  bpf_trace_run12
  bpf_trace_run1
  bpf_trace_run2
  bpf_trace_run3
  bpf_trace_run4
@@ -127,8 +128,10 @@
  bus_find_device
  bus_for_each_dev
  bus_register
  bus_register_notifier
  bus_set_iommu
  bus_unregister
  bus_unregister_notifier
  call_netdevice_notifiers
  cancel_delayed_work
  cancel_delayed_work_sync
@@ -318,8 +321,8 @@
  csum_tcpudp_nofold
  _ctype
  current_time
  datagram_poll
  d_add
  datagram_poll
  d_drop
  deactivate_locked_super
  default_llseek
@@ -570,14 +573,15 @@
  dma_get_slave_channel
  d_make_root
  dmam_alloc_attrs
  dmam_free_coherent
  dma_max_mapping_size
  dmam_free_coherent
  dma_mmap_attrs
  dma_pool_alloc
  dma_pool_create
  dma_pool_destroy
  dma_pool_free
  dma_release_channel
  __dma_request_channel
  dma_request_slave_channel
  dma_resv_add_excl_fence
  dma_resv_add_shared_fence
@@ -588,7 +592,6 @@
  dma_resv_test_signaled_rcu
  dma_resv_wait_timeout_rcu
  dma_set_coherent_mask
  __dma_request_channel
  dma_set_mask
  do_exit
  do_wait_intr
@@ -882,8 +885,8 @@
  drm_vma_offset_manager_destroy
  drm_vma_offset_manager_init
  drm_vma_offset_remove
  drop_nlink
  drm_wait_one_vblank
  drop_nlink
  dump_stack
  enable_irq
  enable_percpu_irq
@@ -943,8 +946,8 @@
  freq_qos_add_request
  freq_qos_remove_request
  freq_qos_update_request
  fsl8250_handle_irq
  fs_kobj
  fsl8250_handle_irq
  fsstack_copy_attr_all
  ftrace_set_clr_event
  full_name_hash
@@ -1027,6 +1030,7 @@
  gpiochip_line_is_irq
  gpiochip_line_is_valid
  gpiochip_remove
  gpiochip_set_nested_irqchip
  gpiod_cansleep
  gpiod_direction_input
  gpiod_direction_output
@@ -1038,7 +1042,6 @@
  gpiod_get_value_cansleep
  gpiod_is_active_low
  gpiod_set_debounce
  gpiochip_set_nested_irqchip
  gpiod_set_raw_value
  gpiod_set_raw_value_cansleep
  gpiod_set_value
@@ -1065,9 +1068,9 @@
  hrtimer_forward
  __hrtimer_get_remaining
  hrtimer_init
  hrtimer_init_sleeper
  hrtimer_start_range_ns
  hrtimer_try_to_cancel
  hrtimer_init_sleeper
  hvc_alloc
  hvc_instantiate
  hvc_kick
@@ -1086,25 +1089,30 @@
  i2c_adapter_type
  i2c_add_adapter
  i2c_add_numbered_adapter
  i2c_bus_type
  i2c_del_adapter
  i2c_del_driver
  i2c_for_each_dev
  i2c_get_adapter
  i2c_get_device_id
  i2c_get_dma_safe_msg_buf
  i2c_put_adapter
  i2c_put_dma_safe_msg_buf
  i2c_register_driver
  i2c_smbus_read_byte
  i2c_smbus_write_byte
  i2c_smbus_read_byte_data
  i2c_smbus_read_byte_data
  i2c_smbus_read_i2c_block_data
  i2c_smbus_write_byte
  i2c_smbus_write_byte_data
  i2c_smbus_write_byte_data
  i2c_smbus_write_i2c_block_data
  __i2c_smbus_xfer
  i2c_smbus_xfer
  __i2c_transfer
  i2c_smbus_read_i2c_block_data
  i2c_smbus_read_byte_data
  i2c_smbus_write_i2c_block_data
  i2c_smbus_write_byte_data
  i2c_transfer
  i2c_transfer_buffer_flags
  i2c_verify_client
  icc_get
  icc_link_create
  icc_node_add
@@ -1256,7 +1264,6 @@
  irq_get_irq_data
  irq_modify_status
  irq_of_parse_and_map
  irq_work_queue
  irq_set_affinity_hint
  irq_set_affinity_notifier
  irq_set_chained_handler_and_data
@@ -1269,6 +1276,7 @@
  irq_set_irq_wake
  irq_set_parent
  irq_to_desc
  irq_work_queue
  iterate_dir
  iterate_fd
  jiffies
@@ -1291,11 +1299,10 @@
  kernfs_put
  kern_path
  keyslot_manager_create
  keyslot_manager_destroy
  keyslot_manager_private
  keyslot_manager_set_max_dun_bytes
  keyslot_manager_reprogram_all_keys
  keyslot_manager_destroy
  bio_crypt_should_process
  keyslot_manager_set_max_dun_bytes
  __kfifo_in
  __kfifo_out
  kfree
@@ -1410,8 +1417,8 @@
  mdiobus_free
  __mdiobus_register
  mdiobus_unregister
  media_create_pad_link
  media_create_intf_link
  media_create_pad_link
  media_device_cleanup
  media_device_init
  __media_device_register
@@ -1528,8 +1535,8 @@
  nf_conntrack_destroy
  nla_memcpy
  __nla_parse
  nla_put_64bit
  nla_put
  nla_put_64bit
  __nlmsg_put
  no_llseek
  nonseekable_open
@@ -1539,8 +1546,8 @@
  nr_swap_pages
  ns_capable
  nsecs_to_jiffies
  ns_to_timespec64
  ns_to_timespec
  ns_to_timespec64
  __num_online_cpus
  nvmem_cell_get
  nvmem_cell_put
@@ -1598,11 +1605,11 @@
  of_get_parent
  of_get_property
  of_get_regulator_init_data
  of_graph_get_endpoint_by_regs
  of_graph_get_next_endpoint
  of_graph_get_remote_node
  of_graph_get_remote_port_parent
  of_graph_get_remote_port
  of_graph_get_endpoint_by_regs
  of_graph_get_remote_port_parent
  of_graph_parse_endpoint
  of_hwspin_lock_get_id
  of_icc_get
@@ -1685,17 +1692,22 @@
  pci_common_swizzle
  pci_d3cold_disable
  pci_device_group
  pci_device_is_present
  pci_dev_present
  pci_disable_device
  pci_disable_msi
  pcie_bus_configure_settings
  pcie_capability_clear_and_set_word
  pcie_capability_read_word
  pci_enable_device
  pci_find_bus
  pci_find_capability
  pci_find_ext_capability
  pci_find_next_capability
  pci_find_pcie_root_port
  pci_free_irq_vectors
  pci_get_device
  pci_get_slot
  pci_iomap
  pci_iomap_range
  pci_irq_get_affinity
@@ -1725,7 +1737,6 @@
  pci_walk_bus
  pci_write_config_dword
  pci_write_config_word
  pci_dev_present
  PDE_DATA
  __per_cpu_offset
  perf_trace_buf_alloc
@@ -1930,8 +1941,8 @@
  refcount_inc_checked
  refcount_inc_not_zero_checked
  __refrigerator
  regcache_cache_only
  regcache_cache_bypass
  regcache_cache_only
  regcache_mark_dirty
  regcache_sync
  regcache_sync_region
@@ -2107,10 +2118,10 @@
  sdev_prefix_printk
  __sdhci_add_host
  sdhci_add_host
  sdhci_cleanup_host
  sdhci_cqe_disable
  sdhci_cqe_enable
  sdhci_cqe_irq
  sdhci_cleanup_host
  sdhci_dumpregs
  sdhci_enable_clk
  sdhci_get_property
@@ -2158,6 +2169,7 @@
  sg_alloc_table_from_pages
  sg_copy_from_buffer
  sg_copy_to_buffer
  sget
  sg_free_table
  sg_init_one
  sg_init_table
@@ -2173,7 +2185,6 @@
  sg_pcopy_from_buffer
  sg_pcopy_to_buffer
  sg_scsi_ioctl
  sget
  shmem_file_setup
  shmem_read_mapping_page_gfp
  shmem_truncate_range
@@ -2382,6 +2393,7 @@
  strcmp
  strcpy
  strcspn
  stream_open
  strim
  string_get_size
  string_unescape
@@ -2791,8 +2803,8 @@
  vb2_ops_wait_prepare
  vb2_plane_cookie
  vb2_plane_vaddr
  vb2_prepare_buf
  vb2_poll
  vb2_prepare_buf
  vb2_qbuf
  vb2_querybuf
  vb2_queue_error
@@ -2907,7 +2919,3 @@
  xdp_rxq_info_reg
  xdp_rxq_info_reg_mem_model
  xdp_rxq_info_unreg
  pci_get_slot
  pcie_capability_clear_and_set_word
  pci_device_is_present
  pci_find_bus
+17 −6
Original line number Diff line number Diff line
@@ -1965,6 +1965,7 @@ static void binder_deferred_fd_close(int fd)
}

static void binder_transaction_buffer_release(struct binder_proc *proc,
					      struct binder_thread *thread,
					      struct binder_buffer *buffer,
					      binder_size_t failed_at,
					      bool is_failure)
@@ -2124,8 +2125,16 @@ static void binder_transaction_buffer_release(struct binder_proc *proc,
						&proc->alloc, &fd, buffer,
						offset, sizeof(fd));
				WARN_ON(err);
				if (!err)
				if (!err) {
					binder_deferred_fd_close(fd);
					/*
					 * Need to make sure the thread goes
					 * back to userspace to complete the
					 * deferred close
					 */
					if (thread)
						thread->looper_need_return = true;
				}
			}
		} break;
		default:
@@ -3206,7 +3215,7 @@ static void binder_transaction(struct binder_proc *proc,
err_copy_data_failed:
	binder_free_txn_fixups(t);
	trace_binder_transaction_failed_buffer_release(t->buffer);
	binder_transaction_buffer_release(target_proc, t->buffer,
	binder_transaction_buffer_release(target_proc, NULL, t->buffer,
					  buffer_offset, true);
	if (target_node)
		binder_dec_node_tmpref(target_node);
@@ -3285,7 +3294,9 @@ static void binder_transaction(struct binder_proc *proc,
 * Cleanup buffer and free it.
 */
static void
binder_free_buf(struct binder_proc *proc, struct binder_buffer *buffer)
binder_free_buf(struct binder_proc *proc,
		struct binder_thread *thread,
		struct binder_buffer *buffer)
{
	binder_inner_proc_lock(proc);
	if (buffer->transaction) {
@@ -3313,7 +3324,7 @@ binder_free_buf(struct binder_proc *proc, struct binder_buffer *buffer)
		binder_node_inner_unlock(buf_node);
	}
	trace_binder_transaction_buffer_release(buffer);
	binder_transaction_buffer_release(proc, buffer, 0, false);
	binder_transaction_buffer_release(proc, thread, buffer, 0, false);
	binder_alloc_free_buf(&proc->alloc, buffer);
}

@@ -3507,7 +3518,7 @@ static int binder_thread_write(struct binder_proc *proc,
				     proc->pid, thread->pid, (u64)data_ptr,
				     buffer->debug_id,
				     buffer->transaction ? "active" : "finished");
			binder_free_buf(proc, buffer);
			binder_free_buf(proc, thread, buffer);
			break;
		}

@@ -4194,7 +4205,7 @@ static int binder_thread_read(struct binder_proc *proc,
			buffer->transaction = NULL;
			binder_cleanup_transaction(t, "fd fixups failed",
						   BR_FAILED_REPLY);
			binder_free_buf(proc, buffer);
			binder_free_buf(proc, thread, buffer);
			binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
				     "%d:%d %stransaction %d fd fixups failed %d/%d, line %d\n",
				     proc->pid, thread->pid,
+3 −0
Original line number Diff line number Diff line
@@ -1998,6 +1998,9 @@ int hid_connect(struct hid_device *hdev, unsigned int connect_mask)
	case BUS_I2C:
		bus = "I2C";
		break;
	case BUS_SPI:
		bus = "SPI";
		break;
	case BUS_VIRTUAL:
		bus = "VIRTUAL";
		break;
+2 −0
Original line number Diff line number Diff line
@@ -860,6 +860,8 @@
#define USB_DEVICE_ID_MS_POWER_COVER     0x07da
#define USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER	0x02fd
#define USB_DEVICE_ID_MS_PIXART_MOUSE    0x00cb
#define SPI_DEVICE_ID_MS_SURFACE_D6_0      0x0c1d
#define SPI_DEVICE_ID_MS_SURFACE_D6_1      0x0c42
#define USB_DEVICE_ID_8BITDO_SN30_PRO_PLUS      0x02e0

#define USB_VENDOR_ID_MOJO		0x8282
+13 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#define MS_DUPLICATE_USAGES	BIT(5)
#define MS_SURFACE_DIAL		BIT(6)
#define MS_QUIRK_FF		BIT(7)
#define MS_NOHIDINPUT		BIT(8)

struct ms_data {
	unsigned long quirks;
@@ -370,6 +371,7 @@ static int ms_probe(struct hid_device *hdev, const struct hid_device_id *id)
	unsigned long quirks = id->driver_data;
	struct ms_data *ms;
	int ret;
	unsigned int connect_mask;

	ms = devm_kzalloc(&hdev->dev, sizeof(*ms), GFP_KERNEL);
	if (ms == NULL)
@@ -379,20 +381,25 @@ static int ms_probe(struct hid_device *hdev, const struct hid_device_id *id)

	hid_set_drvdata(hdev, ms);

	connect_mask = HID_CONNECT_DEFAULT | ((quirks & MS_HIDINPUT) ?
			HID_CONNECT_HIDINPUT_FORCE : 0);

	if (quirks & MS_NOGET)
		hdev->quirks |= HID_QUIRK_NOGET;

	if (quirks & MS_SURFACE_DIAL)
		hdev->quirks |= HID_QUIRK_INPUT_PER_APP;

	if (quirks & MS_NOHIDINPUT)
		connect_mask &= ~HID_CONNECT_HIDINPUT;

	ret = hid_parse(hdev);
	if (ret) {
		hid_err(hdev, "parse failed\n");
		goto err_free;
	}

	ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT | ((quirks & MS_HIDINPUT) ?
				HID_CONNECT_HIDINPUT_FORCE : 0));
	ret = hid_hw_start(hdev, connect_mask);
	if (ret) {
		hid_err(hdev, "hw start failed\n");
		goto err_free;
@@ -451,6 +458,10 @@ static const struct hid_device_id ms_devices[] = {
		.driver_data = MS_SURFACE_DIAL },
	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER),
		.driver_data = MS_QUIRK_FF },
	{ HID_SPI_DEVICE(USB_VENDOR_ID_MICROSOFT, SPI_DEVICE_ID_MS_SURFACE_D6_0),
		.driver_data = MS_NOHIDINPUT },
	{ HID_SPI_DEVICE(USB_VENDOR_ID_MICROSOFT, SPI_DEVICE_ID_MS_SURFACE_D6_1),
		.driver_data =  MS_NOHIDINPUT },
	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_8BITDO_SN30_PRO_PLUS),
		.driver_data = MS_QUIRK_FF },
	{ }
Loading