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
next prev parent 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.