diff --git a/aidl/thermal/Android.bp b/aidl/thermal/Android.bp
index 5f426f9..d2c03c5 100644
--- a/aidl/thermal/Android.bp
+++ b/aidl/thermal/Android.bp
@@ -1,5 +1,5 @@
 cc_binary {
-  name: "android.hardware.thermal-service.pixel",
+  name: "android.hardware.thermal-service.samsung",
   srcs: [
     "service.cpp",
     "Thermal.cpp",
@@ -15,10 +15,10 @@
   vendor: true,
   relative_install_path: "hw",
   vintf_fragments: [
-    "android.hardware.thermal-service.pixel.xml"
+    "android.hardware.thermal-service.samsung.xml"
   ],
   init_rc: [
-    "android.hardware.thermal-service.pixel.rc",
+    "android.hardware.thermal-service.samsung.rc",
   ],
   shared_libs: [
     "libbase",
@@ -60,19 +60,19 @@
 }
 
 sh_binary {
-  name: "thermal_logd",
+  name: "thermal_logd.samsung",
   src: "init.thermal.logging.sh",
   vendor: true,
   init_rc: [
-    "pixel-thermal-logd.rc",
+    "samsung-thermal-logd.rc",
   ],
 }
 
 sh_binary {
-  name: "thermal_symlinks",
+  name: "thermal_symlinks.samsung",
   src: "init.thermal.symlinks.sh",
   vendor: true,
   init_rc: [
-    "pixel-thermal-symlinks.rc",
+    "samsung-thermal-symlinks.rc",
   ],
 }
diff --git a/aidl/thermal/android.hardware.thermal-service.pixel.rc b/aidl/thermal/android.hardware.thermal-service.samsung.rc
similarity index 95%
rename from aidl/thermal/android.hardware.thermal-service.pixel.rc
rename to aidl/thermal/android.hardware.thermal-service.samsung.rc
index f9f823b..03eb6aa 100644
--- a/aidl/thermal/android.hardware.thermal-service.pixel.rc
+++ b/aidl/thermal/android.hardware.thermal-service.samsung.rc
@@ -6,7 +6,7 @@
 on enable-thermal-hal
     restart vendor.thermal-hal
 
-service vendor.thermal-hal /vendor/bin/hw/android.hardware.thermal-service.pixel
+service vendor.thermal-hal /vendor/bin/hw/android.hardware.thermal-service.samsung
     class hal
     user system
     group system
diff --git a/aidl/thermal/android.hardware.thermal-service.pixel.xml b/aidl/thermal/android.hardware.thermal-service.samsung.xml
similarity index 100%
rename from aidl/thermal/android.hardware.thermal-service.pixel.xml
rename to aidl/thermal/android.hardware.thermal-service.samsung.xml
diff --git a/aidl/thermal/pixel-thermal-logd.rc b/aidl/thermal/samsung-thermal-logd.rc
similarity index 98%
rename from aidl/thermal/pixel-thermal-logd.rc
rename to aidl/thermal/samsung-thermal-logd.rc
index c2ec9ff..fe14f1f 100644
--- a/aidl/thermal/pixel-thermal-logd.rc
+++ b/aidl/thermal/samsung-thermal-logd.rc
@@ -7,7 +7,7 @@
 on property:persist.vendor.log.thermal=1 && property:persist.vendor.log.thermal.interval=*
     restart vendor.thermal.logd
 
-service vendor.thermal.logd /vendor/bin/thermal_logd ${persist.vendor.log.thermal.interval:-5}
+service vendor.thermal.logd /vendor/bin/thermal_logd.samsung ${persist.vendor.log.thermal.interval:-5}
     class main
     user root
     group root system
diff --git a/aidl/thermal/pixel-thermal-symlinks.rc b/aidl/thermal/samsung-thermal-symlinks.rc
similarity index 78%
rename from aidl/thermal/pixel-thermal-symlinks.rc
rename to aidl/thermal/samsung-thermal-symlinks.rc
index 132ec5f..fc2e38b 100644
--- a/aidl/thermal/pixel-thermal-symlinks.rc
+++ b/aidl/thermal/samsung-thermal-symlinks.rc
@@ -4,7 +4,7 @@
     mkdir /dev/thermal/cdev-by-name 0750 system system
     start vendor.thermal.symlinks
 
-service vendor.thermal.symlinks /vendor/bin/thermal_symlinks
+service vendor.thermal.symlinks /vendor/bin/thermal_symlinks.samsung
     user system
     group system
     oneshot
diff --git a/aidl/thermal/service.cpp b/aidl/thermal/service.cpp
index d18a069..0e10d7b 100644
--- a/aidl/thermal/service.cpp
+++ b/aidl/thermal/service.cpp
@@ -19,7 +19,7 @@
 
 #include "Thermal.h"
 
-constexpr std::string_view kThermalLogTag("pixel-thermal");
+constexpr std::string_view kThermalLogTag("samsung-thermal");
 
 using ::android::OK;
 using ::android::status_t;
@@ -36,16 +36,16 @@
 
     auto svc = ndk::SharedRefBase::make<Thermal>();
     const auto svcName = std::string() + svc->descriptor + "/" + THERMAL_INSTANCE_NAME;
-    LOG(INFO) << "Pixel Thermal AIDL Service starting..." + svcName;
+    LOG(INFO) << "Samsung Thermal AIDL Service starting..." + svcName;
     ABinderProcess_setThreadPoolMaxThreadCount(0);
 
     auto svcBinder = svc->asBinder();
     binder_status_t status = AServiceManager_addService(svcBinder.get(), svcName.c_str());
     if (status != STATUS_OK) {
-        LOG(ERROR) << "Pixel Thermal AIDL Service failed to start: " << status << ".";
+        LOG(ERROR) << "Samsung Thermal AIDL Service failed to start: " << status << ".";
         return EXIT_FAILURE;
     }
-    LOG(INFO) << "Pixel Thermal HAL AIDL Service started.";
+    LOG(INFO) << "Samsung Thermal HAL AIDL Service started.";
     ABinderProcess_joinThreadPool();
     return EXIT_FAILURE;  // should not reach
 }
