* [PATCH 1/2] staging: media: atomisp: remove unused functions from hmm.c
2026-07-21 21:42 [PATCH 0/2] staging: media: atomisp: remove unused functions Nikolay Kulikov
@ 2026-07-21 21:42 ` Nikolay Kulikov
2026-07-21 21:42 ` [PATCH 2/2] staging: media: atomisp: remove unused functions from hmm_bo.c Nikolay Kulikov
2026-07-22 4:58 ` [PATCH 0/2] staging: media: atomisp: remove unused functions Andy Shevchenko
2 siblings, 0 replies; 6+ messages in thread
From: Nikolay Kulikov @ 2026-07-21 21:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Hans de Goede, Mauro Carvalho Chehab,
Sakari Ailus, Andy Shevchenko
Cc: linux-media, linux-staging, linux-kernel, Nikolay Kulikov
These functions are declared and defined but are not called anywhere.
Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
.../staging/media/atomisp/include/hmm/hmm.h | 16 --------
drivers/staging/media/atomisp/pci/hmm/hmm.c | 41 -------------------
2 files changed, 57 deletions(-)
diff --git a/drivers/staging/media/atomisp/include/hmm/hmm.h b/drivers/staging/media/atomisp/include/hmm/hmm.h
index a7aef27f54de..6bda02b9ff85 100644
--- a/drivers/staging/media/atomisp/include/hmm/hmm.h
+++ b/drivers/staging/media/atomisp/include/hmm/hmm.h
@@ -32,12 +32,6 @@ void hmm_free(ia_css_ptr ptr);
int hmm_load(ia_css_ptr virt, void *data, unsigned int bytes);
int hmm_store(ia_css_ptr virt, const void *data, unsigned int bytes);
int hmm_set(ia_css_ptr virt, int c, unsigned int bytes);
-int hmm_flush(ia_css_ptr virt, unsigned int bytes);
-
-/*
- * get kernel memory physical address from ISP virtual address.
- */
-phys_addr_t hmm_virt_to_phys(ia_css_ptr virt);
/*
* map ISP memory starts with virt to kernel virtual address
@@ -55,16 +49,6 @@ void hmm_vunmap(ia_css_ptr virt);
*/
void hmm_flush_vmap(ia_css_ptr virt);
-/*
- * map ISP memory starts with virt to specific vma.
- *
- * used for mmap operation.
- *
- * virt must be the start address of ISP memory (return by hmm_alloc),
- * do not pass any other address.
- */
-int hmm_mmap(struct vm_area_struct *vma, ia_css_ptr virt);
-
extern struct hmm_bo_device bo_device;
#endif
diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm.c b/drivers/staging/media/atomisp/pci/hmm/hmm.c
index f998b57f90c4..8130be4a30e3 100644
--- a/drivers/staging/media/atomisp/pci/hmm/hmm.c
+++ b/drivers/staging/media/atomisp/pci/hmm/hmm.c
@@ -262,12 +262,6 @@ int hmm_load(ia_css_ptr virt, void *data, unsigned int bytes)
return load_and_flush(virt, data, bytes);
}
-/* Flush hmm data from the data cache */
-int hmm_flush(ia_css_ptr virt, unsigned int bytes)
-{
- return load_and_flush(virt, NULL, bytes);
-}
-
/* Write function in ISP memory management */
int hmm_store(ia_css_ptr virt, const void *data, unsigned int bytes)
{
@@ -411,41 +405,6 @@ int hmm_set(ia_css_ptr virt, int c, unsigned int bytes)
return 0;
}
-/* Virtual address to physical address convert */
-phys_addr_t hmm_virt_to_phys(ia_css_ptr virt)
-{
- unsigned int idx, offset;
- struct hmm_buffer_object *bo;
-
- bo = hmm_bo_device_search_in_range(&bo_device, virt);
- if (!bo) {
- dev_err(atomisp_dev,
- "can not find buffer object contains address 0x%x\n",
- virt);
- return -1;
- }
-
- idx = (virt - bo->start) >> PAGE_SHIFT;
- offset = (virt - bo->start) - (idx << PAGE_SHIFT);
-
- return page_to_phys(bo->pages[idx]) + offset;
-}
-
-int hmm_mmap(struct vm_area_struct *vma, ia_css_ptr virt)
-{
- struct hmm_buffer_object *bo;
-
- bo = hmm_bo_device_search_start(&bo_device, virt);
- if (!bo) {
- dev_err(atomisp_dev,
- "can not find buffer object start with address 0x%x\n",
- virt);
- return -EINVAL;
- }
-
- return hmm_bo_mmap(vma, bo);
-}
-
/* Map ISP virtual address into IA virtual address */
void *hmm_vmap(ia_css_ptr virt, bool cached)
{
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/2] staging: media: atomisp: remove unused functions from hmm_bo.c
2026-07-21 21:42 [PATCH 0/2] staging: media: atomisp: remove unused functions Nikolay Kulikov
2026-07-21 21:42 ` [PATCH 1/2] staging: media: atomisp: remove unused functions from hmm.c Nikolay Kulikov
@ 2026-07-21 21:42 ` Nikolay Kulikov
2026-07-22 4:58 ` [PATCH 0/2] staging: media: atomisp: remove unused functions Andy Shevchenko
2 siblings, 0 replies; 6+ messages in thread
From: Nikolay Kulikov @ 2026-07-21 21:42 UTC (permalink / raw)
To: Greg Kroah-Hartman, Hans de Goede, Mauro Carvalho Chehab,
Sakari Ailus, Andy Shevchenko
Cc: linux-media, linux-staging, linux-kernel, Nikolay Kulikov
Remove several functions that are defined but never called.
Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
.../media/atomisp/include/hmm/hmm_bo.h | 19 ----
.../staging/media/atomisp/pci/hmm/hmm_bo.c | 97 -------------------
2 files changed, 116 deletions(-)
diff --git a/drivers/staging/media/atomisp/include/hmm/hmm_bo.h b/drivers/staging/media/atomisp/include/hmm/hmm_bo.h
index e09ac29ac43d..ba3c582a0f89 100644
--- a/drivers/staging/media/atomisp/include/hmm/hmm_bo.h
+++ b/drivers/staging/media/atomisp/include/hmm/hmm_bo.h
@@ -205,7 +205,6 @@ int hmm_bo_page_allocated(struct hmm_buffer_object *bo);
*/
int hmm_bo_bind(struct hmm_buffer_object *bo);
void hmm_bo_unbind(struct hmm_buffer_object *bo);
-int hmm_bo_binded(struct hmm_buffer_object *bo);
/*
* vmap buffer object's pages to contiguous kernel virtual address.
@@ -224,17 +223,6 @@ void hmm_bo_flush_vmap(struct hmm_buffer_object *bo);
*/
void hmm_bo_vunmap(struct hmm_buffer_object *bo);
-/*
- * mmap the bo's physical pages to specific vma.
- *
- * vma's address space size must be the same as bo's size,
- * otherwise it will return -EINVAL.
- *
- * vma->vm_flags will be set to (VM_RESERVED | VM_IO).
- */
-int hmm_bo_mmap(struct vm_area_struct *vma,
- struct hmm_buffer_object *bo);
-
/*
* find the buffer object by its virtual address vaddr.
* return NULL if no such buffer object found.
@@ -251,11 +239,4 @@ struct hmm_buffer_object *hmm_bo_device_search_start(
struct hmm_buffer_object *hmm_bo_device_search_in_range(
struct hmm_bo_device *bdev, ia_css_ptr vaddr);
-/*
- * find the buffer object with kernel virtual address vaddr.
- * return NULL if no such buffer object found.
- */
-struct hmm_buffer_object *hmm_bo_device_search_vmap_start(
- struct hmm_bo_device *bdev, const void *vaddr);
-
#endif
diff --git a/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c b/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c
index 0a8f401a1ca1..837077f1d229 100644
--- a/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c
+++ b/drivers/staging/media/atomisp/pci/hmm/hmm_bo.c
@@ -578,31 +578,6 @@ struct hmm_buffer_object *hmm_bo_device_search_in_range(
return bo;
}
-struct hmm_buffer_object *hmm_bo_device_search_vmap_start(
- struct hmm_bo_device *bdev, const void *vaddr)
-{
- struct list_head *pos;
- struct hmm_buffer_object *bo;
- unsigned long flags;
-
- check_bodev_null_return(bdev, NULL);
-
- spin_lock_irqsave(&bdev->list_lock, flags);
- list_for_each(pos, &bdev->entire_bo_list) {
- bo = list_to_hmm_bo(pos);
- /* pass bo which has no vm_node allocated */
- if ((bo->status & HMM_BO_MASK) == HMM_BO_FREE)
- continue;
- if (bo->vmap_addr == vaddr)
- goto found;
- }
- spin_unlock_irqrestore(&bdev->list_lock, flags);
- return NULL;
-found:
- spin_unlock_irqrestore(&bdev->list_lock, flags);
- return bo;
-}
-
static void free_pages_bulk_array(unsigned long nr_pages, struct page **page_array)
{
unsigned long i;
@@ -885,21 +860,6 @@ void hmm_bo_unbind(struct hmm_buffer_object *bo)
"buffer vm or page not allocated or not binded yet.\n");
}
-int hmm_bo_binded(struct hmm_buffer_object *bo)
-{
- int ret;
-
- check_bo_null_return(bo, 0);
-
- mutex_lock(&bo->mutex);
-
- ret = bo->status & HMM_BO_BINDED;
-
- mutex_unlock(&bo->mutex);
-
- return ret;
-}
-
void *hmm_bo_vmap(struct hmm_buffer_object *bo, bool cached)
{
check_bo_null_return(bo, NULL);
@@ -1023,60 +983,3 @@ static const struct vm_operations_struct hmm_bo_vm_ops = {
.open = hmm_bo_vm_open,
.close = hmm_bo_vm_close,
};
-
-/*
- * mmap the bo to user space.
- */
-int hmm_bo_mmap(struct vm_area_struct *vma, struct hmm_buffer_object *bo)
-{
- unsigned int start, end;
- unsigned int virt;
- unsigned int pgnr, i;
- unsigned int pfn;
-
- check_bo_null_return(bo, -EINVAL);
-
- check_bo_status_yes_goto(bo, HMM_BO_PAGE_ALLOCED, status_err);
-
- pgnr = bo->pgnr;
- start = vma->vm_start;
- end = vma->vm_end;
-
- /*
- * check vma's virtual address space size and buffer object's size.
- * must be the same.
- */
- if ((start + pgnr_to_size(pgnr)) != end) {
- dev_warn(atomisp_dev,
- "vma's address space size not equal to buffer object's size");
- return -EINVAL;
- }
-
- virt = vma->vm_start;
- for (i = 0; i < pgnr; i++) {
- pfn = page_to_pfn(bo->pages[i]);
- if (remap_pfn_range(vma, virt, pfn, PAGE_SIZE, PAGE_SHARED)) {
- dev_warn(atomisp_dev,
- "remap_pfn_range failed: virt = 0x%x, pfn = 0x%x, mapped_pgnr = %d\n",
- virt, pfn, 1);
- return -EINVAL;
- }
- virt += PAGE_SIZE;
- }
-
- vma->vm_private_data = bo;
-
- vma->vm_ops = &hmm_bo_vm_ops;
- vm_flags_set(vma, VM_IO | VM_DONTEXPAND | VM_DONTDUMP);
-
- /*
- * call hmm_bo_vm_open explicitly.
- */
- hmm_bo_vm_open(vma);
-
- return 0;
-
-status_err:
- dev_err(atomisp_dev, "buffer page not allocated yet.\n");
- return -EINVAL;
-}
--
2.55.0
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 0/2] staging: media: atomisp: remove unused functions
2026-07-21 21:42 [PATCH 0/2] staging: media: atomisp: remove unused functions Nikolay Kulikov
2026-07-21 21:42 ` [PATCH 1/2] staging: media: atomisp: remove unused functions from hmm.c Nikolay Kulikov
2026-07-21 21:42 ` [PATCH 2/2] staging: media: atomisp: remove unused functions from hmm_bo.c Nikolay Kulikov
@ 2026-07-22 4:58 ` Andy Shevchenko
2026-07-22 5:08 ` Andy Shevchenko
2 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2026-07-22 4:58 UTC (permalink / raw)
To: Nikolay Kulikov
Cc: Greg Kroah-Hartman, Hans de Goede, Mauro Carvalho Chehab,
Sakari Ailus, Andy Shevchenko, linux-media, linux-staging,
linux-kernel
On Wed, Jul 22, 2026 at 12:42 AM Nikolay Kulikov <nikolayof23@gmail.com> wrote:
>
> This series removes functions in pci/hmm/ that are declared and defined
> but never called.
Don't do it per file, squash these changes as it seems not so many of
them (I assume you checked the entire driver, right?).
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] staging: media: atomisp: remove unused functions
2026-07-22 4:58 ` [PATCH 0/2] staging: media: atomisp: remove unused functions Andy Shevchenko
@ 2026-07-22 5:08 ` Andy Shevchenko
2026-07-23 5:36 ` Nikolay Kulikov
0 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2026-07-22 5:08 UTC (permalink / raw)
To: Nikolay Kulikov
Cc: Greg Kroah-Hartman, Hans de Goede, Mauro Carvalho Chehab,
Sakari Ailus, Andy Shevchenko, linux-media, linux-staging,
linux-kernel
On Wed, Jul 22, 2026 at 7:58 AM Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Wed, Jul 22, 2026 at 12:42 AM Nikolay Kulikov <nikolayof23@gmail.com> wrote:
> >
> > This series removes functions in pci/hmm/ that are declared and defined
> > but never called.
>
> Don't do it per file, squash these changes as it seems not so many of
> them (I assume you checked the entire driver, right?).
Note, if you want to make a useful contribution, try to clean up the
below header
include / hmm / hmm_common.h
It has some ugly macros, instead this code should go to the users and
then be propagated to each level and refactored.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] staging: media: atomisp: remove unused functions
2026-07-22 5:08 ` Andy Shevchenko
@ 2026-07-23 5:36 ` Nikolay Kulikov
0 siblings, 0 replies; 6+ messages in thread
From: Nikolay Kulikov @ 2026-07-23 5:36 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Greg Kroah-Hartman, Hans de Goede, Mauro Carvalho Chehab,
Sakari Ailus, Andy Shevchenko, linux-media, linux-staging,
linux-kernel
On Wed, Jul 22, 2026 at 08:08:38AM +0300, Andy Shevchenko wrote:
> On Wed, Jul 22, 2026 at 7:58 AM Andy Shevchenko
> <andy.shevchenko@gmail.com> wrote:
> > On Wed, Jul 22, 2026 at 12:42 AM Nikolay Kulikov <nikolayof23@gmail.com> wrote:
> > >
> > > This series removes functions in pci/hmm/ that are declared and defined
> > > but never called.
> >
> > Don't do it per file, squash these changes as it seems not so many of
> > them (I assume you checked the entire driver, right?).
Yes, the entire driver. I usually use 'git grep' from its root.
>
> Note, if you want to make a useful contribution, try to clean up the
> below header
>
> include / hmm / hmm_common.h
>
> It has some ugly macros, instead this code should go to the users and
> then be propagated to each level and refactored.
I'll add this to v2.
Thanks,
Nikolay
>
> --
> With Best Regards,
> Andy Shevchenko
^ permalink raw reply [flat|nested] 6+ messages in thread