mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 19:43:40 +02:00
net: ipa: relax 64-bit build requirement
We currently assume the IPA driver is built only for a 64 bit kernel. When this constraint was put in place it eliminated some do_div() calls, replacing them with the "/" and "%" operators. We now only use these operations on u32 and size_t objects. In a 32-bit kernel build, size_t will be 32 bits wide, so there remains no reason to use do_div() for divide and modulo. A few recent commits also fix some code that assumes that DMA addresses are 64 bits wide. With that, we can get rid of the 64-bit build requirement. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e5d4e96b44
commit
99e75a37bd
|
|
@ -1,6 +1,6 @@
|
|||
config QCOM_IPA
|
||||
tristate "Qualcomm IPA support"
|
||||
depends on 64BIT && NET && QCOM_SMEM
|
||||
depends on NET && QCOM_SMEM
|
||||
depends on ARCH_QCOM || COMPILE_TEST
|
||||
depends on QCOM_RPROC_COMMON || (QCOM_RPROC_COMMON=n && COMPILE_TEST)
|
||||
select QCOM_MDT_LOADER if ARCH_QCOM
|
||||
|
|
|
|||
|
|
@ -735,8 +735,14 @@ MODULE_DEVICE_TABLE(of, ipa_match);
|
|||
static void ipa_validate_build(void)
|
||||
{
|
||||
#ifdef IPA_VALIDATE
|
||||
/* We assume we're working on 64-bit hardware */
|
||||
BUILD_BUG_ON(!IS_ENABLED(CONFIG_64BIT));
|
||||
/* At one time we assumed a 64-bit build, allowing some do_div()
|
||||
* calls to be replaced by simple division or modulo operations.
|
||||
* We currently only perform divide and modulo operations on u32,
|
||||
* u16, or size_t objects, and of those only size_t has any chance
|
||||
* of being a 64-bit value. (It should be guaranteed 32 bits wide
|
||||
* on a 32-bit build, but there is no harm in verifying that.)
|
||||
*/
|
||||
BUILD_BUG_ON(!IS_ENABLED(CONFIG_64BIT) && sizeof(size_t) != 4);
|
||||
|
||||
/* Code assumes the EE ID for the AP is 0 (zeroed structure field) */
|
||||
BUILD_BUG_ON(GSI_EE_AP != 0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user