Re: [PATCH v2 3/5] soc: qcom: smem: Support global partition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 9/15/2017 11:33 AM, Bjorn Andersson wrote:
On Thu 14 Sep 14:25 PDT 2017, Chris Lew wrote:

[..]
+static struct smem_ptable *qcom_smem_get_ptable(struct qcom_smem *smem)
  {
-	struct smem_partition_header *header;
-	struct smem_ptable_entry *entry;
  	struct smem_ptable *ptable;
-	unsigned remote_host;
-	u32 version, host0, host1;
-	int i;
+	u32 version;
ptable = smem->regions[0].virt_base + smem->regions[0].size - SZ_4K;
  	if (memcmp(ptable->magic, SMEM_PTABLE_MAGIC, sizeof(ptable->magic)))
-		return 0;
+		return NULL;
version = le32_to_cpu(ptable->version);
  	if (version != 1) {
  		dev_err(smem->dev,
  			"Unsupported partition header version %d\n", version);
+		return ERR_PTR(-EINVAL);

In the calling places NULL and -EINVAL are both treated as -EINVAL, so I
think it's better to just return NULL here as well as check for !ptable
in callers.

Regards,
Bjorn


qcom_smem_enumerate_partitions allowed the partition table to be optional before. I want to keep that behavior for V11 where smem might only have the global heap. The probe will continue with a NULL/0 return from qcom_get_ptable/qcom_smem_enumerate_partitions.

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux