swiotlb: remove unnecessary function swiotlb_max_segment()

Message ID 20230221140609.386-1-petrtesarik@huaweicloud.com
State New
Headers
Series swiotlb: remove unnecessary function swiotlb_max_segment() |

Commit Message

Petr Tesarik Feb. 21, 2023, 2:06 p.m. UTC
  From: Petr Tesarik <petr.tesarik.ext@huawei.com>

It is difficult to imagine how this function should be used by
drivers. The last in-tree user was removed by commit
d3f6bacfca86 ("drm/i915: stop abusing swiotlb_max_segment"), and
even this user had been abusing it to achieve a different goal.

Let's remove this function now, as already suggested by Chris
Hellwig about a year ago in commit a2daa27c0c61 ("swiotlb:
simplify swiotlb_max_segment").

Signed-off-by: Petr Tesarik <petr.tesarik.ext@huawei.com>
---
 include/linux/swiotlb.h | 5 -----
 kernel/dma/swiotlb.c    | 8 --------
 2 files changed, 13 deletions(-)
  

Comments

Christoph Hellwig Feb. 21, 2023, 2:16 p.m. UTC | #1
I've got an equivalent patch already queue up in dma-mapping-for-next.
  
Petr Tesarik Feb. 21, 2023, 2:26 p.m. UTC | #2
On 2/21/2023 3:16 PM, Christoph Hellwig wrote:
> I've got an equivalent patch already queue up in dma-mapping-for-next.

Ah, good. Sorry for the fuss. Most importantly, it goes away. It was one of the things that confused me as I started reading swiotlb code.

Petr T
  

Patch

diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 35bc4e281c21..bcef10e20ea4 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -121,7 +121,6 @@  static inline bool is_swiotlb_force_bounce(struct device *dev)
 
 void swiotlb_init(bool addressing_limited, unsigned int flags);
 void __init swiotlb_exit(void);
-unsigned int swiotlb_max_segment(void);
 size_t swiotlb_max_mapping_size(struct device *dev);
 bool is_swiotlb_active(struct device *dev);
 void __init swiotlb_adjust_size(unsigned long size);
@@ -140,10 +139,6 @@  static inline bool is_swiotlb_force_bounce(struct device *dev)
 static inline void swiotlb_exit(void)
 {
 }
-static inline unsigned int swiotlb_max_segment(void)
-{
-	return 0;
-}
 static inline size_t swiotlb_max_mapping_size(struct device *dev)
 {
 	return SIZE_MAX;
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index a34c38bbe28f..f35d934f6e58 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -156,14 +156,6 @@  setup_io_tlb_npages(char *str)
 }
 early_param("swiotlb", setup_io_tlb_npages);
 
-unsigned int swiotlb_max_segment(void)
-{
-	if (!io_tlb_default_mem.nslabs)
-		return 0;
-	return rounddown(io_tlb_default_mem.nslabs << IO_TLB_SHIFT, PAGE_SIZE);
-}
-EXPORT_SYMBOL_GPL(swiotlb_max_segment);
-
 unsigned long swiotlb_size_or_default(void)
 {
 	return default_nslabs << IO_TLB_SHIFT;