All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH 4/5] auxdisplay: linedisp: support attribute attachment to auxdisplay devices
@ 2025-09-02 10:38 kernel test robot
  0 siblings, 0 replies; 6+ messages in thread
From: kernel test robot @ 2025-09-02 10:38 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250901020033.60196-5-jefflessard3@gmail.com>
References: <20250901020033.60196-5-jefflessard3@gmail.com>
TO: "Jean-François Lessard" <jefflessard3@gmail.com>
TO: Andy Shevchenko <andy@kernel.org>
TO: Geert Uytterhoeven <geert@linux-m68k.org>
CC: linux-kernel@vger.kernel.org

Hi Jean-François,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.17-rc4 next-20250902]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Jean-Fran-ois-Lessard/auxdisplay-linedisp-encapsulate-container_of-usage-within-to_linedisp/20250901-100347
base:   linus/master
patch link:    https://lore.kernel.org/r/20250901020033.60196-5-jefflessard3%40gmail.com
patch subject: [PATCH 4/5] auxdisplay: linedisp: support attribute attachment to auxdisplay devices
:::::: branch date: 32 hours ago
:::::: commit date: 32 hours ago
config: x86_64-randconfig-161-20250902 (https://download.01.org/0day-ci/archive/20250902/202509021722.wnbbAMB8-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202509021722.wnbbAMB8-lkp@intel.com/

smatch warnings:
drivers/auxdisplay/line-display.c:81 delete_attachment() warn: iterator used outside loop: 'attachment'
drivers/auxdisplay/line-display.c:102 to_linedisp() warn: iterator used outside loop: 'attachment'

vim +/attachment +81 drivers/auxdisplay/line-display.c

5b645f9dfbbe40 Jean-François Lessard 2025-08-31   64  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   65  static struct linedisp *delete_attachment(struct device *dev, bool owns_device)
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   66  {
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   67  	struct linedisp_attachment *attachment;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   68  	struct linedisp *linedisp;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   69  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   70  	guard(spinlock)(&linedisp_attachments_lock);
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   71  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   72  	list_for_each_entry(attachment, &linedisp_attachments, list) {
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   73  		if (attachment->device == dev &&
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   74  		    attachment->owns_device == owns_device)
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   75  			break;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   76  	}
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   77  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   78  	if (list_entry_is_head(attachment, &linedisp_attachments, list))
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   79  		return NULL;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   80  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31  @81  	linedisp = attachment->linedisp;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   82  	list_del(&attachment->list);
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   83  	kfree(attachment);
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   84  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   85  	return linedisp;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   86  }
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   87  
edd8dbd6f21b41 Jean-François Lessard 2025-08-31   88  static struct linedisp *to_linedisp(struct device *dev)
edd8dbd6f21b41 Jean-François Lessard 2025-08-31   89  {
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   90  	struct linedisp_attachment *attachment;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   91  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   92  	guard(spinlock)(&linedisp_attachments_lock);
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   93  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   94  	list_for_each_entry(attachment, &linedisp_attachments, list) {
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   95  		if (attachment->device == dev)
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   96  			break;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   97  	}
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   98  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31   99  	if (list_entry_is_head(attachment, &linedisp_attachments, list))
5b645f9dfbbe40 Jean-François Lessard 2025-08-31  100  		return NULL;
5b645f9dfbbe40 Jean-François Lessard 2025-08-31  101  
5b645f9dfbbe40 Jean-François Lessard 2025-08-31 @102  	return attachment->linedisp;
edd8dbd6f21b41 Jean-François Lessard 2025-08-31  103  }
edd8dbd6f21b41 Jean-François Lessard 2025-08-31  104  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH 0/5] auxdisplay: linedisp: support attribute attachment to auxdisplay devices
@ 2025-09-01  2:00 Jean-François Lessard
  2025-09-01  2:00 ` [PATCH 4/5] " Jean-François Lessard
  0 siblings, 1 reply; 6+ messages in thread
From: Jean-François Lessard @ 2025-09-01  2:00 UTC (permalink / raw)
  To: Andy Shevchenko, Geert Uytterhoeven; +Cc: linux-kernel

This series modernizes the auxdisplay line display (linedisp) library to
enable seamless integration with auxdisplay parent devices while
maintaining backward compatibility.

The key improvement is adding attach/detach APIs that allow linedisp sysfs
attributes to be bound directly to their parent auxdisplay devices avoiding
child device proliferation and enabling a uniform 7-segment userspace
interface across different driver architectures.

This series introduces attachment infrastructure for linedisp devices.
The first consumer of this API will be the TM16XX driver series.
See the related patch series:
  auxdisplay: Add TM16xx 7-segment LED matrix display controllers driver

Changes include:
1. Encapsulate container_of() usage with to_linedisp() helper function for
   cleaner context retrieval
2. Improve message display behavior with static padding when message length
   is smaller than display width
3. Add 'num_chars' read-only attribute for userspace capability discovery
4. Add attach/detach API for sysfs attributes binding to parent devices
5. Document all linedisp sysfs attributes in ABI documentation

All existing linedisp_register() users remain unaffected. The new APIs
enable drivers like TM16XX to integrate 7-segment functionality within
their LED class device hierarchy while providing a uniform 7-segment API.

Thanks to Andy Shevchenko for early feedback and guidance.

RFC changelog:
- Replace scope_guard() with guard()() for synchronized list operations.
- Replace NULL assignments with proper list_entry_is_head() pattern.
- Clearly document why introducing the attach/detach APIs.
- Split in patch series, each patch containing a specific change.
- Implement static (non-scrolling) display for short messages.
- Document exisiting and new ABI sysfs attributes.

Jean-François Lessard (5):
  auxdisplay: linedisp: encapsulate container_of usage within
    to_linedisp
  auxdisplay: linedisp: display static message when length <= display
    size
  auxdisplay: linedisp: add num_chars sysfs attribute
  auxdisplay: linedisp: support attribute attachment to auxdisplay
    devices
  docs: ABI: auxdisplay: document linedisp library sysfs attributes

 .../ABI/testing/sysfs-auxdisplay-linedisp     |  90 +++++++
 drivers/auxdisplay/line-display.c             | 219 ++++++++++++++++--
 drivers/auxdisplay/line-display.h             |   4 +
 3 files changed, 295 insertions(+), 18 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-auxdisplay-linedisp

-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-09-03 11:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 10:38 [PATCH 4/5] auxdisplay: linedisp: support attribute attachment to auxdisplay devices kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2025-09-01  2:00 [PATCH 0/5] " Jean-François Lessard
2025-09-01  2:00 ` [PATCH 4/5] " Jean-François Lessard
2025-09-02 10:18   ` Andy Shevchenko
2025-09-02 17:37     ` Jean-François Lessard
2025-09-03 10:18       ` Andy Shevchenko
2025-09-03 11:31         ` Jean-François Lessard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.