diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-09-01 09:45:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-09-01 09:45:57 -0700 |
commit | ebf435d3b51b22340ef047aad0c2936ec4833ab2 (patch) | |
tree | e67a3e22305b679d5ba990495edb0a7d07df9b23 /drivers/iio/accel/bmc150-accel.h | |
parent | c6c3c5704ba70820f6b632982abde06661b7222a (diff) | |
parent | 4adb389e08c95fdf91995271932c59250ff0d561 (diff) | |
download | lwn-ebf435d3b51b22340ef047aad0c2936ec4833ab2.tar.gz lwn-ebf435d3b51b22340ef047aad0c2936ec4833ab2.zip |
Merge tag 'staging-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull IIO and staging driver updates from Greg KH:
"Here is the big set of staging and IIO driver updates for 5.15-rc1.
Also included in here are the counter driver subsystem updates as the
IIO drivers needed them.
Lots of churn in some staging drivers, we dropped the "old" rtl8188eu
driver and replaced it with a newer version of the driver that had
been maintained out-of-tree by Larry with the end goal of actually
being able to get this driver out of staging eventually. Despite that
driver being "newer" the line count of this pull request is going up.
Some drivers moved out of staging as well, which is always nice to
see, that is why there are additions to the mfc and misc driver
subsystems. All of these were acked by the various subsystem
maintainers involved.
But by far, as normal, it's coding style cleanups all over the
drivers/staging/ tree in here.
Full details of these changes are in the shortlog.
All of these have been in linux-next for a while with no reported
problems"
[ Note: the r8188eu merge clashed with commit 89939e890605 ("staging:
rtlwifi: use siocdevprivate") from the networking tree. When resolving
the issue, I noted that the whole r8188eu rtw_android code is dead
since commit ae7471cae00a ("staging: r8188eu: remove rtw_ioctl
function").
End result: the merge resolution was to throw all of that away,
rather than do the mindless fixup to code that isn't actually
reachable - Linus ]
* tag 'staging-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (551 commits)
staging: vt6655: Remove filenames in files
staging: r8188eu: add extra TODO entries
staging: vt6656: Remove filenames in files
staging: wlan-ng: fix invalid assignment warning
staging: r8188eu: rename fields of struct rtl_ps
staging: r8188eu: remove ODM_DynamicPrimaryCCA_DupRTS()
staging: r8188eu: rename fields of struct dyn_primary_cca
staging: r8188eu: rename struct field Wifi_Error_Status
staging: r8188eu: Provide a TODO file for this driver
staging: r8188eu: remove unneeded variable
staging: r8188eu: remove unneeded conversions to bool
staging: r8188eu: remove {read,write}_macreg
staging: r8188eu: core: remove condition with no effect
staging: r8188eu: remove ethernet.h header file
staging: r8188eu: remove ip.h header file
staging: r8188eu: remove if_ether.h header file
staging: r8188eu: make rtw_deinit_intf_priv return void
staging: r8188eu: use is_multicast_ether_addr in os_dep/recv_linux.c
staging: r8188eu: use is_multicast_ether_addr in hal/rtl8188eu_xmit.c
staging: r8188eu: use is_multicast_ether_addr in core/rtw_xmit.c
...
Diffstat (limited to 'drivers/iio/accel/bmc150-accel.h')
-rw-r--r-- | drivers/iio/accel/bmc150-accel.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/iio/accel/bmc150-accel.h b/drivers/iio/accel/bmc150-accel.h index 47121f070fe9..1bb5023e8ed9 100644 --- a/drivers/iio/accel/bmc150-accel.h +++ b/drivers/iio/accel/bmc150-accel.h @@ -13,6 +13,22 @@ struct i2c_client; struct bmc150_accel_chip_info; struct bmc150_accel_interrupt_info; +/* + * We can often guess better than "UNKNOWN" based on the device IDs + * but unfortunately this information is not always accurate. There are some + * devices where ACPI firmware specifies an ID like "BMA250E" when the device + * actually has a BMA222E. The driver attempts to detect those by reading the + * chip ID from the registers but this information is not always enough either. + * + * Therefore, this enum should be only used when the chip ID detection is not + * enough and we can be reasonably sure that the device IDs are reliable + * in practice (e.g. for device tree platforms). + */ +enum bmc150_type { + BOSCH_UNKNOWN, + BOSCH_BMC156, +}; + struct bmc150_accel_interrupt { const struct bmc150_accel_interrupt_info *info; atomic_t users; @@ -62,6 +78,7 @@ struct bmc150_accel_data { int ev_enable_state; int64_t timestamp, old_timestamp; /* Only used in hw fifo mode. */ const struct bmc150_accel_chip_info *chip_info; + enum bmc150_type type; struct i2c_client *second_device; void (*resume_callback)(struct device *dev); struct delayed_work resume_work; @@ -69,7 +86,8 @@ struct bmc150_accel_data { }; int bmc150_accel_core_probe(struct device *dev, struct regmap *regmap, int irq, - const char *name, bool block_supported); + enum bmc150_type type, const char *name, + bool block_supported); int bmc150_accel_core_remove(struct device *dev); extern const struct dev_pm_ops bmc150_accel_pm_ops; extern const struct regmap_config bmc150_regmap_conf; |