All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Subu Dwevedi <messigoatcr7nop@gmail.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Subu Dwevedi <messigoatcr7nop@gmail.com>,
	Henrik Rydberg <rydberg@bitmath.org>,
	Jean Delvare <jdelvare@suse.com>,
	Guenter Roeck <linux@roeck-us.net>,
	linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] hwmon/applesmc: add MMIO for newer macs
Date: Fri, 14 Mar 2025 02:32:41 +0800	[thread overview]
Message-ID: <202503140229.R49CaAYj-lkp@intel.com> (raw)
In-Reply-To: <20250312123055.1735-2-messigoatcr7nop@gmail.com>

Hi Subu,

kernel test robot noticed the following build errors:

[auto build test ERROR on groeck-staging/hwmon-next]
[also build test ERROR on linus/master v6.14-rc6 next-20250313]
[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/Subu-Dwevedi/hwmon-applesmc-add-MMIO-for-newer-macs/20250312-203248
base:   https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
patch link:    https://lore.kernel.org/r/20250312123055.1735-2-messigoatcr7nop%40gmail.com
patch subject: [PATCH 1/2] hwmon/applesmc: add MMIO for newer macs
config: x86_64-buildonly-randconfig-002-20250313 (https://download.01.org/0day-ci/archive/20250314/202503140229.R49CaAYj-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250314/202503140229.R49CaAYj-lkp@intel.com/reproduce)

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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503140229.R49CaAYj-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/hwmon/applesmc.c:717:42: error: incomplete definition of type 'struct acpi_device'
     717 |         status = acpi_get_current_resources(adev->handle, &buffer);
         |                                             ~~~~^
   include/linux/acpi.h:801:8: note: forward declaration of 'struct acpi_device'
     801 | struct acpi_device;
         |        ^
   1 error generated.


vim +717 drivers/hwmon/applesmc.c

   678	
   679	static int applesmc_init_index(struct applesmc_registers *s)
   680	{
   681		const struct applesmc_entry *entry;
   682		unsigned int i;
   683	
   684		if (s->index)
   685			return 0;
   686	
   687		s->index = kcalloc(s->temp_count, sizeof(s->index[0]), GFP_KERNEL);
   688		if (!s->index)
   689			return -ENOMEM;
   690	
   691		for (i = s->temp_begin; i < s->temp_end; i++) {
   692			entry = applesmc_get_entry_by_index(i);
   693			if (IS_ERR(entry))
   694				continue;
   695			if (strcmp(entry->type, TEMP_SENSOR_TYPE))
   696				continue;
   697			s->index[s->index_count++] = entry->key;
   698		}
   699	
   700		return 0;
   701	}
   702	/*
   703	 * applesmc_init_mmio_try - Try to initialize MMIO
   704	 */
   705	static int applesmc_init_mmio_try(void)
   706	{
   707		u8 ldkn_version;
   708		acpi_status status;
   709		struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
   710		struct acpi_device *adev;
   711		struct acpi_resource *res;
   712	
   713		adev = acpi_dev_get_first_match_dev("APP0001", NULL, -1);
   714		if (!adev)
   715			return -ENXIO;
   716	
 > 717		status = acpi_get_current_resources(adev->handle, &buffer);
   718		if (ACPI_FAILURE(status))
   719			return -ENXIO;
   720	
   721		res = buffer.pointer;
   722		while (res->type != ACPI_RESOURCE_TYPE_END_TAG) {
   723			if (res->type == ACPI_RESOURCE_TYPE_FIXED_MEMORY32) {
   724				if (res->data.fixed_memory32.address_length < 0x4006)
   725					return -ENXIO;
   726	
   727				mmio_base_addr = res->data.fixed_memory32.address;
   728				mmio_base_size = res->data.fixed_memory32.address_length;
   729				is_mmio = true;
   730				break;
   731			}
   732			res = ACPI_NEXT_RESOURCE(res);
   733		}
   734		kfree(buffer.pointer);
   735		acpi_dev_put(adev);
   736	
   737		if (!is_mmio)
   738			return -ENXIO;
   739	
   740		mmio_base = ioremap(mmio_base_addr, mmio_base_size);
   741	
   742		if (!mmio_base)
   743			return -ENXIO;
   744	
   745		if (ioread8(mmio_base + 0x4005) == 0xFF)
   746			goto out;
   747	
   748		if (read_smc(APPLESMC_READ_CMD, "LDKN", &ldkn_version, 1))
   749			goto out;
   750	
   751		if (ldkn_version < 2)
   752			goto out;
   753	
   754		return 0;
   755	out:
   756		pr_warn("cannot enable MMIO will use PMIO\n");
   757		iounmap(mmio_base);
   758		return -ENXIO;
   759	}
   760	/*
   761	 * applesmc_init_smcreg_try - Try to initialize register cache. Idempotent.
   762	 */
   763	static int applesmc_init_smcreg_try(void)
   764	{
   765		struct applesmc_registers *s = &smcreg;
   766		bool left_light_sensor = false, right_light_sensor = false;
   767		unsigned int count;
   768		u8 tmp[1];
   769		int ret;
   770	
   771		if (s->init_complete)
   772			return 0;
   773	
   774		ret = read_register_count(&count);
   775		if (ret)
   776			return ret;
   777	
   778		if (s->cache && s->key_count != count) {
   779			pr_warn("key count changed from %d to %d\n",
   780				s->key_count, count);
   781			kfree(s->cache);
   782			s->cache = NULL;
   783		}
   784		s->key_count = count;
   785	
   786		if (!s->cache)
   787			s->cache = kcalloc(s->key_count, sizeof(*s->cache), GFP_KERNEL);
   788		if (!s->cache)
   789			return -ENOMEM;
   790	
   791		ret = applesmc_read_key(FANS_COUNT, tmp, 1);
   792		if (ret)
   793			return ret;
   794		s->fan_count = tmp[0];
   795		if (s->fan_count > 10)
   796			s->fan_count = 10;
   797	
   798		ret = applesmc_get_lower_bound(&s->temp_begin, "T");
   799		if (ret)
   800			return ret;
   801		ret = applesmc_get_lower_bound(&s->temp_end, "U");
   802		if (ret)
   803			return ret;
   804		s->temp_count = s->temp_end - s->temp_begin;
   805	
   806		ret = applesmc_init_index(s);
   807		if (ret)
   808			return ret;
   809	
   810		ret = applesmc_has_key(LIGHT_SENSOR_LEFT_KEY, &left_light_sensor);
   811		if (ret)
   812			return ret;
   813		ret = applesmc_has_key(LIGHT_SENSOR_RIGHT_KEY, &right_light_sensor);
   814		if (ret)
   815			return ret;
   816		ret = applesmc_has_key(MOTION_SENSOR_KEY, &s->has_accelerometer);
   817		if (ret)
   818			return ret;
   819		ret = applesmc_has_key(BACKLIGHT_KEY, &s->has_key_backlight);
   820		if (ret)
   821			return ret;
   822	
   823		s->num_light_sensors = left_light_sensor + right_light_sensor;
   824		s->init_complete = true;
   825	
   826		pr_info("key=%d fan=%d temp=%d index=%d acc=%d lux=%d kbd=%d\n",
   827		       s->key_count, s->fan_count, s->temp_count, s->index_count,
   828		       s->has_accelerometer,
   829		       s->num_light_sensors,
   830		       s->has_key_backlight);
   831	
   832		return 0;
   833	}
   834	

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

  reply	other threads:[~2025-03-13 18:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-12 12:30 [PATCH 0/2] Add support for newer macs in applesmc Subu Dwevedi
2025-03-12 12:30 ` [PATCH 1/2] hwmon/applesmc: add MMIO for newer macs Subu Dwevedi
2025-03-13 18:32   ` kernel test robot [this message]
2025-03-14  3:19   ` kernel test robot
2025-03-17 18:28   ` Guenter Roeck
2025-03-12 12:30 ` [PATCH 2/2] hwmon/applesmc: add fan support " Subu Dwevedi
2025-03-13 14:53   ` kernel test robot
2025-03-12 12:55 ` [PATCH 0/2] Add support for newer macs in applesmc Guenter Roeck
2025-03-12 13:05   ` Subu Dwevedi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202503140229.R49CaAYj-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=jdelvare@suse.com \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=llvm@lists.linux.dev \
    --cc=messigoatcr7nop@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=rydberg@bitmath.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.