aboutsummaryrefslogtreecommitdiffstats
path: root/samsung-ipc/devices
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2021-02-16 21:50:26 +0100
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2021-02-28 17:28:38 +0100
commite1de9ed1759feb87bc633253b4b1666273dfa8d2 (patch)
treed13aac1fc1c3a36a5920a8996bdcc14ede2e2807 /samsung-ipc/devices
parent0149fc9e6bfd08b596fa1954b6dc4bcf875de9cd (diff)
downloadhardware_replicant_libsamsung-ipc-e1de9ed1759feb87bc633253b4b1666273dfa8d2.tar.gz
hardware_replicant_libsamsung-ipc-e1de9ed1759feb87bc633253b4b1666273dfa8d2.tar.bz2
hardware_replicant_libsamsung-ipc-e1de9ed1759feb87bc633253b4b1666273dfa8d2.zip
samsung-ipc: move TOC handling in its own directory
This could enable other devices to use the TOC handling functions. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'samsung-ipc/devices')
-rw-r--r--samsung-ipc/devices/herolte/herolte.c33
1 files changed, 1 insertions, 32 deletions
diff --git a/samsung-ipc/devices/herolte/herolte.c b/samsung-ipc/devices/herolte/herolte.c
index 509c3b1..c02557f 100644
--- a/samsung-ipc/devices/herolte/herolte.c
+++ b/samsung-ipc/devices/herolte/herolte.c
@@ -35,15 +35,7 @@
#include "modems/xmm626/xmm626.h"
#include "modems/xmm626/xmm626_kernel_smdk4412.h"
#include "modems/xmm626/xmm626_modem_prj.h"
-
-struct __attribute__((__packed__)) firmware_toc_entry {
- char name[12];
- uint32_t offset; /* offset within firmware file/partition */
- uint32_t loadaddr; /* target memory address for this blob */
- uint32_t size; /* size of this blob in bytes */
- uint32_t crc;
- uint32_t entryid;
-};
+#include "partitions/toc/toc.h"
struct __attribute__((__packed__)) security_req {
uint32_t mode;
@@ -63,29 +55,6 @@ struct __attribute__((__packed__)) modem_firmware_partition_data {
#define IOCTL_SECURITY_REQ _IO('o', 0x53)
-#define N_TOC_ENTRIES (512 / sizeof(struct firmware_toc_entry))
-
-static struct firmware_toc_entry const *find_toc_entry(
- char const *name,
- struct firmware_toc_entry const *toc)
-{
- unsigned int index;
-
- /* We don't know all the details of the TOC format yet; for now, we
- * assume two things:
- * 1. reading 512 bytes of TOC is enough, and
- * 2. the first entry with an empty name field ends the list.
- */
- for (index = 0; index < N_TOC_ENTRIES; index++) {
- if (toc[index].name[0] == '\0')
- break;
- if (strncmp(toc[index].name, name,
- sizeof(toc[index].name)) == 0)
- return &toc[index];
- }
- return NULL;
-}
-
#define MAX_CHUNK_LEN (62 * 1024) /* This is just what cbd uses.
* Perhaps a larger value would also work.
*/